diff options
| author | Adrian Hunter <adrian.hunter@intel.com> | 2026-08-07 17:56:31 +0300 |
|---|---|---|
| committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2026-08-08 15:03:57 +0200 |
| commit | f44d3b15326c498b7a285ee56d4fd8fbc64a8c15 (patch) | |
| tree | 409b61b13e5fbca21110b8832713d6ee7a956d37 /scripts/objdiff | |
| parent | e5e8dd2e959f470524c16ca444d001c90d6bb3ad (diff) | |
| download | linux-f44d3b15326c498b7a285ee56d4fd8fbc64a8c15.tar.gz linux-f44d3b15326c498b7a285ee56d4fd8fbc64a8c15.zip | |
i3c: master: Fix potential UAF in i3c_device_match()
i3c_device_match() dereferences i3cdev->desc without holding the bus
normal-use lock. Since the descriptor pointer can be replaced
concurrently, the dereference can race with descriptor replacement and
result in a use-after-free.
Protect access to i3cdev->desc with the normal-use lock. While the lock
is held, the descriptor is guaranteed to remain valid, so the NULL check
is also unnecessary and can be removed.
This change depends on "i3c: master: Fix recursive locking during device
registration". Prior to that change, taking the normal-use lock in
i3c_device_match() could recurse on bus->lock during device
registration.
Fixes: 3456baa2110c ("i3c: master: match I3C device through DT and ACPI")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260807145638.168865-8-adrian.hunter@intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions
