diff options
author | Ingo Molnar <mingo@kernel.org> | 2023-10-09 18:09:23 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2023-10-09 18:09:23 +0200 |
commit | fdb8b7a1af31d69ee1c8ddc02926cb409eaaecc3 (patch) | |
tree | 9af7010f5f93005adbf6f98c6557552b86d32697 /drivers/power/supply/power_supply_sysfs.c | |
parent | 0cff993e08a7578e2c1df93a95fc5059f447e7ae (diff) | |
parent | 94f6f0550c625fab1f373bb86a6669b45e9748b3 (diff) |
Merge tag 'v6.6-rc5' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/power/supply/power_supply_sysfs.c')
-rw-r--r-- | drivers/power/supply/power_supply_sysfs.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c index 06e5b6b0e255..d483a81560ab 100644 --- a/drivers/power/supply/power_supply_sysfs.c +++ b/drivers/power/supply/power_supply_sysfs.c @@ -482,6 +482,13 @@ int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env) if (ret) return ret; + /* + * Kernel generates KOBJ_REMOVE uevent in device removal path, after + * resources have been freed. Exit early to avoid use-after-free. + */ + if (psy->removing) + return 0; + prop_buf = (char *)get_zeroed_page(GFP_KERNEL); if (!prop_buf) return -ENOMEM; |