#
5192e2e2 |
| 26-Feb-2025 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
pdr: Add pldm_pdr_delete_by_record_handle() API
Adds a new libpldm API to delete the PDR record from the PDR repo based on the record handle of the PDR record.
Change-Id: I44f5568aa024660f7d370d9a2
pdr: Add pldm_pdr_delete_by_record_handle() API
Adds a new libpldm API to delete the PDR record from the PDR repo based on the record handle of the PDR record.
Change-Id: I44f5568aa024660f7d370d9a2c6b3f9286d96ed8 Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
Revision tags: v0.11.0, v0.10.0, v0.9.1, v0.9.0 |
|
#
bc40dd5a |
| 02-Aug-2024 |
Archana Kakani <archana.kakani@ibm.com> |
pdr: Fix for Entity Association PDR looping
While normalizing the Entity association PDR, record handle is passed to the library function. Considering PDR contains logical and physical contained ent
pdr: Fix for Entity Association PDR looping
While normalizing the Entity association PDR, record handle is passed to the library function. Considering PDR contains logical and physical contained entities, two pdrs with same record handle are created.
To fix the issue, we are propagating the recently used record handle from the pldm_pdr_add to entity_association_pdr_add. Then incrementing the record handle before creating next PDR.
gitlint-ignore: B1, UC1 Fixes: 25ddbccfae0e ("pdr: Add pldm_entity_association_pdr_add_from_node_with_record_handle()") Change-Id: Ifaa5694cabe7ad38d8881f0b7be0a79d9d3e06c0 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
#
94e2d754 |
| 12-Dec-2024 |
Archana Kakani <archana.kakani@ibm.com> |
pdr: Handle removal of the last contained entity from EA PDR
After removing the contained entity from the entity association PDR, if there is no other contained entity present, we need to remove the
pdr: Handle removal of the last contained entity from EA PDR
After removing the contained entity from the entity association PDR, if there is no other contained entity present, we need to remove the entity association PDR. Also modified the testcase to delete all the entities from the entity association PDR.
Fixes: b31e4c6c4663 ("pdr: Remove contained entity from PDR repo") Change-Id: If426314a571e91d178e8ae802a49bb7a3746080e Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
#
9e566597 |
| 02-Oct-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: pdr: Bound check pldm_entity_association_pdr_extract()
``` ../src/dsp/pdr.c: In function ‘pldm_entity_association_pdr_extract’: ../src/dsp/pdr.c:1333:35: error: use of attacker-controlled value
dsp: pdr: Bound check pldm_entity_association_pdr_extract()
``` ../src/dsp/pdr.c: In function ‘pldm_entity_association_pdr_extract’: ../src/dsp/pdr.c:1333:35: error: use of attacker-controlled value ‘(size_t)((int)*((char *)&*pdr + 10).num_children + 1) * 6’ as allocation size without upper-bounds checking [CWE-789] [-Werror=analyzer-tainted-allocation-size] 1333 | pldm_entity *l_entities = malloc(sizeof(pldm_entity) * l_num_entities); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ```
Fixes: 9c76679224cf ("libpldm: Migrate to subproject") Change-Id: I96582ae2b19d22413919ae0a6a9b94e2d3d40f39 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
d0ba43af |
| 09-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
clang-tidy: Enable cppcoreguidelines-pro-type-reinterpret-cast
There are ways to avoid reinterpret_cast<>() in many circumstances. For libpldm, often its use can be replaced with placement-new. Enab
clang-tidy: Enable cppcoreguidelines-pro-type-reinterpret-cast
There are ways to avoid reinterpret_cast<>() in many circumstances. For libpldm, often its use can be replaced with placement-new. Enable the lint for reinterpret_cast<>() to prevent its use in future changes. This way we can stay inside the language rather than rely on implementation-defined behavior.
Existing uses of reinterpret_cast<>() are marked NOLINT for now, with the intent that we clean them up over time. The insertion of the NOLINTs was automated with sed.
Change-Id: If6654f774e438de9262fe9f9012c6b574764c326 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
60582150 |
| 22-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: pdr: Add pldm_entity_association_tree_copy_root_check()
Allocations cannot be treated as infallible. Ensure that copying the entity association tree signals failure to the caller along with cle
dsp: pdr: Add pldm_entity_association_tree_copy_root_check()
Allocations cannot be treated as infallible. Ensure that copying the entity association tree signals failure to the caller along with cleaning up after itself to avoid leaking memory.
Change-Id: Icfd255b45530e42a6a3a0a3205e665eed53708d1 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 ...
|
#
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>
|
#
d72ea4b8 |
| 24-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: pdr: Rename pldm_entity_association_pdr_add_check()
Introduce pldm_entity_association_pdr_add(), deprecate pldm_entity_association_pdr_add_check(), add the rename configuration and then apply i
dsp: pdr: Rename pldm_entity_association_pdr_add_check()
Introduce pldm_entity_association_pdr_add(), deprecate pldm_entity_association_pdr_add_check(), add the rename configuration and then apply it.
One quirk this time around is that we had forgotten to remove the declaration of pldm_entity_association_pdr_add() from the header when we removed its implementation. Clean this issue up as well, as it's necessary to avoid the type conflict.
Change-Id: Id8e61c817017dd7caefa9fd7b2bc59ee0f1f6721 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
e7f55113 |
| 20-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: pdr: Rename pldm_pdr_add_fru_record_set_check()
Drop the `_check` suffix so it is now `pldm_pdr_add_fru_record_set()`, and run `apply-renames` to update any internal references.
Change-Id: Iaa
dsp: pdr: Rename pldm_pdr_add_fru_record_set_check()
Drop the `_check` suffix so it is now `pldm_pdr_add_fru_record_set()`, and run `apply-renames` to update any internal references.
Change-Id: Iaaa452269caa47369c80b43bf65f30d2a004ec66 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
fae3641d |
| 20-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: pdr: Rename pldm_pdr_add_check()
Drop the `_check` suffix so it is now `pldm_pdr_add()`.
Change-Id: I9b32317f99a89acbe1cc0510380cd26badd145d6 Signed-off-by: Andrew Jeffery <andrew@codeconstruc
dsp: pdr: Rename pldm_pdr_add_check()
Drop the `_check` suffix so it is now `pldm_pdr_add()`.
Change-Id: I9b32317f99a89acbe1cc0510380cd26badd145d6 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
274732fc |
| 05-Jul-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
pdr: Add pldm_pdr_get_terminus_handle() API
Adds a new libpldm API to get the terminus handle of the particular record given as input from the PDR repo.
Change-Id: I3694cc3974a564296f4584b70de7d6d1
pdr: Add pldm_pdr_get_terminus_handle() API
Adds a new libpldm API to get the terminus handle of the particular record given as input from the PDR repo.
Change-Id: I3694cc3974a564296f4584b70de7d6d1dad2a866 Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
#
48761c62 |
| 03-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Reorganize source and test files
Primarily this is about moving specification-specific files into 'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of both src/ and tests/
libpldm: Reorganize source and test files
Primarily this is about moving specification-specific files into 'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of both src/ and tests/.
[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP4014_2.14.0.pdf
libpldm is a concrete C implementation of the PLDM family of specifications. This invokes some accidental complexity[2] such as the msgbuf APIs and other concerns.
[2]: https://en.wikipedia.org/wiki/No_Silver_Bullet
Separate the essential complexity (everything under the dsp/ subdirectories) from the accidental complexity (almost everything else).
While doing so, I took the opportunity to drop the 'libpldm_' prefix and '_test' suffix from a variety of tests. The 'libpldm_' prefix is a hangover from the days when libpldm was a subproject of OpenBMC's pldm repo. The '_test' suffix feels redundant given the parent directory path.
Note that we maintain separation of the src/ and tests/. The test suite is implemented in C++ while libpldm's APIs are declared and defined in C. The ability to chop all the tests and C++ out of the implementation by ignoring a subtree seems like a desirable property when vendoring the library into other projects.
Finally, update the x86_64 GCC ABI dump, as rearranging the source causes a lot of churn in its definitions.
Change-Id: Icffcc6cf48b3101ecd38168827c0a81cffb8f083 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|