Skip to content

logger: bound uuid pointer to include the entry size#10921

Open
lgirdwood wants to merge 1 commit into
thesofproject:mainfrom
lgirdwood:fix-logger
Open

logger: bound uuid pointer to include the entry size#10921
lgirdwood wants to merge 1 commit into
thesofproject:mainfrom
lgirdwood:fix-logger

Conversation

@lgirdwood

Copy link
Copy Markdown
Member

The UUID-pointer bounds check in sof-logger only required the pointer to be
below the end of the uids region, not that a whole struct sof_uuid_entry
fits. A crafted .ldc dictionary with a UUID pointer near the end of the region
could make the logger read an entry straddling the buffer end. Include the
entry size in the upper-bound check.

The uuid pointer bounds check did not reserve space for the full entry,
so a pointer near the end of the region could read an entry straddling
the buffer end. Require a whole entry to fit before dereferencing.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Copilot AI review requested due to automatic review settings June 15, 2026 14:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Tightens UUID-pointer bounds validation in sof-logger so the logger can’t read a struct sof_uuid_entry that straddles the end of the UUID region when parsing crafted .ldc dictionaries.

Changes:

  • Updates the upper-bound check to account for sizeof(struct sof_uuid_entry) (not just the pointer position).
  • Adds an explanatory comment clarifying the rationale and failure mode.

Comment thread tools/logger/convert.c
Comment on lines 134 to +136
if (uid_ptr < uids_dict->base_address ||
uid_ptr >= uids_dict->base_address + uids_dict->data_length) {
uid_ptr + sizeof(struct sof_uuid_entry) >
uids_dict->base_address + uids_dict->data_length) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants