mirror of
https://github.com/torvalds/linux.git
synced 2026-09-26 10:02:02 +02:00
register_pkey_tree() ignores errors from register_one_pkey_tree() and
continues registering the remaining slaves. The per-slave error path has
already released the pkey parent kobjects, but their pointers remain
stored in the device. A later device cleanup therefore passes the stale
pointers to kobject_put(), causing a use-after-free.
Clear the parent pointers after releasing a failed slave tree and skip
unregistered trees during device cleanup. This preserves the existing
best-effort registration behavior while preventing a second cleanup of
the failed tree.
Fixes:
|
||
|---|---|---|
| .. | ||
| ah.c | ||
| alias_GUID.c | ||
| cm.c | ||
| cq.c | ||
| doorbell.c | ||
| Kconfig | ||
| mad.c | ||
| main.c | ||
| Makefile | ||
| mcg.c | ||
| mlx4_ib.h | ||
| mr.c | ||
| qp.c | ||
| srq.c | ||
| sysfs.c | ||