History log of /openbmc/libpldm/tests/dsp/pdr.cpp (Results 1 – 14 of 14)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...