Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ACPI: APEI: EINJ: Fix einj_dev release leak

The platform driver conversion of EINJ mistakenly used
platform_device_del() to unwind platform_device_register_full() at
module exit. This leads to a small leak of one 'struct platform_device'
instance per module load/unload cycle. Switch to
platform_device_unregister() which performs both device_del() and final
put_device().

Fixes: 5621fafaac00 ("EINJ: Migrate to a platform driver")
Cc: 6.9+ <stable@vger.kernel.org> # 6.9+
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Ben Cheatham <Benjamin.Cheatham@amd.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Dan Williams and committed by
Rafael J. Wysocki
7ff6c798 5a87e002

+1 -1
+1 -1
drivers/acpi/apei/einj-core.c
··· 909 909 if (einj_initialized) 910 910 platform_driver_unregister(&einj_driver); 911 911 912 - platform_device_del(einj_dev); 912 + platform_device_unregister(einj_dev); 913 913 } 914 914 915 915 module_init(einj_init);