890d37a3 | 22-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: pdr: Apply LIBPLDM_CC_NONNULL to reduce assert()s
The PDR API implementations are in a bit of a state. Reduce the use of asserts to highlight the more egregious ones.
Again adjusting some asse
dsp: pdr: Apply LIBPLDM_CC_NONNULL to reduce assert()s
The PDR API implementations are in a bit of a state. Reduce the use of asserts to highlight the more egregious ones.
Again adjusting some assert behavior has impacted the ABI as measured by abi-compliance-checker. pldm_pdr_find_record() and pldm_pdr_get_next_record() are both affected, with changes to the registers assigned for parameter-passing.
Change-Id: I7797217dac76afcf7a9df7519d9d2aa394d3b5dd Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
3b5ab929 | 22-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: bios_table: Null check for pldm_bios_table_iter_is_end()
GCC's -fanalyzer identified the following:
``` In file included from ../tests/dsp/bios_table_iter.c:15: ../src/dsp/bios_table.c: In fun
dsp: bios_table: Null check for pldm_bios_table_iter_is_end()
GCC's -fanalyzer identified the following:
``` In file included from ../tests/dsp/bios_table_iter.c:15: ../src/dsp/bios_table.c: In function ‘pldm_bios_table_iter_is_end’: ../src/dsp/bios_table.c:991:17: error: dereference of NULL ‘iter’ [CWE-476] [-Werror=analyzer-null-dereference] 991 | if (iter->table_len - iter->current_pos <= pad_and_check_max) { | ~~~~^~~~~~~~~~~ ```
As a safety measure, return true to indicate the end of the iterator if the iterator is null.
Fixes: 9c76679224cf ("libpldm: Migrate to subproject") Change-Id: I18eec144120054de33eb351f9a80dee936118126 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
5c49f162 | 22-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Ban variable length arrays
Caller-controlled sizes for variable length arrays are bad for the reasons outlined in the SEI CERT C Coding Standard[1]
Enable -Wvla to prevent future use.
[1]:
meson: Ban variable length arrays
Caller-controlled sizes for variable length arrays are bad for the reasons outlined in the SEI CERT C Coding Standard[1]
Enable -Wvla to prevent future use.
[1]: https://wiki.sei.cmu.edu/confluence/display/c/MEM05-C.+Avoid+large+stack+allocations
Change-Id: Id587bd1432255cff11b419cb5a7f454fc64e2054 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
8b53ad9d | 15-Jun-2024 |
Varsha Kaverappa <vkaverap@in.ibm.com> |
pdr: Remove PDR record by record set identifier
API to remove a record from a PLDM PDR repository if it is of type FRU record set identifier and if it matches given record set identifier. Record han
pdr: Remove PDR record by record set identifier
API to remove a record from a PLDM PDR repository if it is of type FRU record set identifier and if it matches given record set identifier. Record handle of the PDR where this entity is found is saved and will be required to update PDR repo by removing the entry corresponding to this entity in the PDR table. Also the Node associated with this pldm entity is deleted from PDR tree.
Change-Id: I24606c4d75ff64864f4aa95d8b2341b8911a7ff8 Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com>
show more ...
|
b31e4c6c | 25-Jun-2024 |
Varsha Kaverappa <vkaverap@in.ibm.com> |
pdr: Remove contained entity from PDR repo
API to remove a contained entity from an entity association PDR. This API saves record handle of the PLDM PDR record where the contained entity is found. T
pdr: Remove contained entity from PDR repo
API to remove a contained entity from an entity association PDR. This API saves record handle of the PLDM PDR record where the contained entity is found. The record handle we get from this API will be required to update PDR repo by removing the entry corresponding to this entity in the PDR table. Also the Node associated with this pldm entity is deleted from PDR tree. The PLDM PDR record which holds the contained entity to be removed is found with the parent entity properties sent to this API as input.
Tested By: Unit tested by removing entities from PDR repo
Change-Id: I55fb898a0e67d8c9cd95594b4ec6a6a4866c9531 Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com>
show more ...
|
7939382f | 07-Aug-2024 |
Varsha Kaverappa <vkaverap@in.ibm.com> |
msgbuf: Allow pldm_msgbuf_span_required to accept NULL
Allow pldm_msgbuf_span_required to accept NULL as an argument so we can use this API to skip past data in the msg buffer which is not required
msgbuf: Allow pldm_msgbuf_span_required to accept NULL
Allow pldm_msgbuf_span_required to accept NULL as an argument so we can use this API to skip past data in the msg buffer which is not required and extract only the relevant data.
Change-Id: I08d233b8efe415732fb7c01c00a9925f04666fe2 Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com>
show more ...
|
6476c968 | 26-Jul-2024 |
Lora Lin <lora.lin.wiwynn@gmail.com> |
oem: meta: Add encode_oem_meta_file_io_read_resp()
Add encode_oem_meta_file_io_read_resp function
This function is used to encode the message of reading file IO. Assemble responses to read file IO
oem: meta: Add encode_oem_meta_file_io_read_resp()
Add encode_oem_meta_file_io_read_resp function
This function is used to encode the message of reading file IO. Assemble responses to read file IO messages, but the response content other than the completion code needs to be additionally appended.
Change-Id: Ib030ac9f37fe73b66fb762dcf8b8297bce79836a Signed-off-by: Lora Lin <lora.lin.wiwynn@gmail.com>
show more ...
|
893a08f0 | 16-Jul-2024 |
Lora Lin <lora.lin.wiwynn@gmail.com> |
oem: meta: Add decode_oem_meta_file_io_read_req()
Add decode_oem_meta_file_io_read_req function.
This function is used to decode the message of reading file IO. Need to include read_option (read fi
oem: meta: Add decode_oem_meta_file_io_read_req()
Add decode_oem_meta_file_io_read_req function.
This function is used to decode the message of reading file IO. Need to include read_option (read file attributes or data), length (the length of the read data) and read_info (The information needed to read the file). Take reading file data as an example: read_info needs to contain transferFlag, offset to know the starting position and transfer progress of the read file.
Change-Id: I425476d36e3cd69d2da45beceff1c4a2362640dc Signed-off-by: Lora Lin <lora.lin.wiwynn@gmail.com>
show more ...
|
84213eba | 21-Jul-2024 |
Lora Lin <lora.lin.wiwynn@gmail.com> |
tests: oem: meta: Convert to new API
Switching the test suite after the new API is introduced demonstrates that the existing API behaved as before at the time of merging the change.
Change-Id: I6d7
tests: oem: meta: Convert to new API
Switching the test suite after the new API is introduced demonstrates that the existing API behaved as before at the time of merging the change.
Change-Id: I6d7576bb8e8ad4f28e90b3b5f81e0f063a5496d4 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> Signed-off-by: Lora Lin <lora.lin.wiwynn@gmail.com>
show more ...
|
0f5be28f | 21-Jul-2024 |
Lora Lin <lora.lin.wiwynn@gmail.com> |
oem: meta: Add decode_oem_meta_file_io_write_req()
Add decode_oem_meta_file_io_write_req function. Deprecate decode_oem_meta_file_io_req function.
The difference between functions decode_oem_meta_f
oem: meta: Add decode_oem_meta_file_io_write_req()
Add decode_oem_meta_file_io_write_req function. Deprecate decode_oem_meta_file_io_req function.
The difference between functions decode_oem_meta_file_io_req and decode_oem_meta_file_io_write_req:
- decode_oem_meta_file_io_write_req: - return 0 on success and return a negative errno value on failure. - input parameters is structure. - add req_length parameter to check whether the total length of the request is buffer overflow. - decode_oem_meta_file_io_req: - return PLDM_SUCCESS on success and return another PLDM completion code on failure. - input parameters is passing individual pointers.
Change-Id: Iae3c7f24128bc25c5af6951f34fdc6d8a7b90381 Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> Signed-off-by: Lora Lin <lora.lin.wiwynn@gmail.com> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
435c9321 | 05-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: Symlink pre-submit to run-ci
OpenBMC's CI scripts will run any script named run-ci in the repository[1]. Exploit this to run the pre-submit tests in CI so issues such as failing to add test
scripts: Symlink pre-submit to run-ci
OpenBMC's CI scripts will run any script named run-ci in the repository[1]. Exploit this to run the pre-submit tests in CI so issues such as failing to add test guards are caught.
[1]: https://gerrit.openbmc.org/plugins/gitiles/openbmc/openbmc-build-scripts/+/decca83981004f97e0ee8c1ffc0c3589bf9d0a09/scripts/unit-test.py#1429
Change-Id: I5af7df0adeb38d69e4f0bf142f4a091a6ac60de7 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
4e672656 | 08-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
fru: Remove get_fru_record_by_option_check()
Deprecated prior to v0.9.0.
Change-Id: Ifec87c665842d9ae5ba78fa1888ea99c2bbe90f5 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> |
453dfff3 | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pdr: Remove pldm_pdr_add_fru_record_set_check()
Deprecated prior to v0.9.0.
Change-Id: I402338aad0f54947f6748b882b3163fc72825199 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> |
f309c48d | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pdr: Remove pldm_pdr_add_check()
Deprecated prior to v0.9.0.
Change-Id: Ib53d20bfee6365429db56bc2420b2d294d5464b4 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> |
73a2f66e | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pdr: Remove pldm_entity_association_pdr_add_from_node_check()
Deprecated prior to v0.9.0.
Change-Id: Ibe52bb1c7c26314a9c91c40917d378d6bb851447 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.co
pdr: Remove pldm_entity_association_pdr_add_from_node_check()
Deprecated prior to v0.9.0.
Change-Id: Ibe52bb1c7c26314a9c91c40917d378d6bb851447 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
38004f7a | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pdr: Remove pldm_entity_association_pdr_add_check()
Deprecated prior to v0.9.0.
Change-Id: I7706f27c732efbb3332d26fe4e7f0be1c205c66b Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> |
c79375df | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_string_entry_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I58aab14bf06316dcc40213059cbd05d5e789db96 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.c
bios_table: Remove pldm_bios_table_string_entry_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I58aab14bf06316dcc40213059cbd05d5e789db96 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
1085e232 | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_string_entry_decode_string_check()
Deprecated prior to v0.9.0.
Change-Id: I133cc54a4e101de2d502685dddcb4e461677e32f Signed-off-by: Andrew Jeffery <andrew@codecons
bios_table: Remove pldm_bios_table_string_entry_decode_string_check()
Deprecated prior to v0.9.0.
Change-Id: I133cc54a4e101de2d502685dddcb4e461677e32f Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
de926829 | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_attr_value_entry_encode_string_check()
Deprecated prior to v0.9.0.
gitlint-ignore: T1 Change-Id: Ia0f7496102cf9f74eae187e59d91ce6a51175718 Signed-off-by: Andrew J
bios_table: Remove pldm_bios_table_attr_value_entry_encode_string_check()
Deprecated prior to v0.9.0.
gitlint-ignore: T1 Change-Id: Ia0f7496102cf9f74eae187e59d91ce6a51175718 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
5a8b7c54 | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_attr_value_entry_encode_integer_check()
Deprecated prior to v0.9.0.
gitlint-ignore: T1 Change-Id: I2b8e2c25cb65a63c439ca5dc46fad8fec2be9089 Signed-off-by: Andrew
bios_table: Remove pldm_bios_table_attr_value_entry_encode_integer_check()
Deprecated prior to v0.9.0.
gitlint-ignore: T1 Change-Id: I2b8e2c25cb65a63c439ca5dc46fad8fec2be9089 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
2170655a | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_attr_value_entry_encode_enum_check()
Deprecated prior to v0.9.0.
Change-Id: I542061d717a4b64c63eb8c7a92d59e9ae61ca9fe Signed-off-by: Andrew Jeffery <andrew@codeco
bios_table: Remove pldm_bios_table_attr_value_entry_encode_enum_check()
Deprecated prior to v0.9.0.
Change-Id: I542061d717a4b64c63eb8c7a92d59e9ae61ca9fe Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
5f288563 | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_attr_entry_string_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I2a576b53afc77333a6b71d7e265b17a56f192507 Signed-off-by: Andrew Jeffery <andrew@codeconstr
bios_table: Remove pldm_bios_table_attr_entry_string_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I2a576b53afc77333a6b71d7e265b17a56f192507 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
4d8634d7 | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_attr_entry_string_decode_def_string_length_check()
Deprecated prior to v0.9.0.
gitlint-ignore: T1 Change-Id: I5a0960065e27f487112ddc87ace1ff4e4bef4ad6 Signed-off-
bios_table: Remove pldm_bios_table_attr_entry_string_decode_def_string_length_check()
Deprecated prior to v0.9.0.
gitlint-ignore: T1 Change-Id: I5a0960065e27f487112ddc87ace1ff4e4bef4ad6 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
f5c63dfd | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_attr_entry_integer_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I36ac5239b36fc386e7a782d133dde13b497f6f3f Signed-off-by: Andrew Jeffery <andrew@codeconst
bios_table: Remove pldm_bios_table_attr_entry_integer_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I36ac5239b36fc386e7a782d133dde13b497f6f3f Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
83a208af | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
bios_table: Remove pldm_bios_table_attr_entry_enum_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I693e37b1805b979d00ef76ca6ce8a26c1b7a3820 Signed-off-by: Andrew Jeffery <andrew@codeconstruc
bios_table: Remove pldm_bios_table_attr_entry_enum_encode_check()
Deprecated prior to v0.9.0.
Change-Id: I693e37b1805b979d00ef76ca6ce8a26c1b7a3820 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|