linux-stable/drivers/acpi
Christophe JAILLET 20b9527ebe ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias()
[ Upstream commit 48cf49d319 ]

snprintf() does not return negative values on error.

To know if the buffer was too small, the returned value needs to be
compared with the length of the passed buffer. If it is greater or
equal, the output has been truncated, so add checks for the truncation
to create_pnp_modalias() and create_of_modalias(). Also make them
return -ENOMEM in that case, as they already do that elsewhere.

Moreover, the remaining size of the buffer used by snprintf() needs to
be updated after the first write to avoid out-of-bounds access as
already done correctly in create_pnp_modalias(), but not in
create_of_modalias(), so change the latter accordingly.

Fixes: 8765c5ba19 ("ACPI / scan: Rework modalias creation when "compatible" is present")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
[ rjw: Merge two patches into one, combine changelogs, add subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 10:27:33 +01:00
..
acpica ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer 2023-09-23 10:47:03 +02:00
apei ACPI/APEI: Limit printable size of BERT table data 2022-04-20 09:08:22 +02:00
arm64 acpi/arm64: fix next_platform_timer() section mismatch error 2021-10-20 10:42:05 +02:00
dptf
nfit ACPI: NFIT: Fix support for virtual SPA ranges 2021-08-26 08:37:01 -04:00
pmic ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses 2021-11-26 11:40:36 +01:00
x86 x86/cpu: Sanitize FAM6_ATOM naming 2019-05-14 19:18:42 +02:00
Kconfig
Makefile ACPI: tables: Add custom DSDT file as makefile prerequisite 2021-07-20 16:17:33 +02:00
ac.c
acpi_amba.c ACPI: AMBA: Fix resource name in /proc/iomem 2021-07-20 16:17:52 +02:00
acpi_apd.c
acpi_cmos_rtc.c
acpi_configfs.c ACPI: configfs: add missing check after configfs_register_default_group() 2021-03-03 18:22:51 +01:00
acpi_dbg.c ACPI: debug: don't allow debugging when ACPI is disabled 2020-11-05 11:06:59 +01:00
acpi_extlog.c ACPI: extlog: Handle multiple records 2022-11-03 23:50:51 +09:00
acpi_ipmi.c
acpi_lpat.c
acpi_lpss.c ACPI: LPSS: Fix missing check in register_device_clock() 2022-08-25 11:11:14 +02:00
acpi_memhotplug.c mm/memory_hotplug: make add_memory() take the device_hotplug_lock 2019-12-01 09:13:57 +01:00
acpi_pad.c treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
acpi_platform.c ACPI / platform: Add SMB0001 HID to forbidden_id_list 2018-11-27 16:10:51 +01:00
acpi_pnp.c ACPI: PNP: compare the string length in the matching_id() 2020-12-29 13:47:05 +01:00
acpi_processor.c ACPI / processor: don't print errors for processorIDs == 0xff 2019-10-05 12:47:49 +02:00
acpi_video.c ACPI: video: Add Toshiba Satellite/Portege Z830 quirk 2022-10-26 13:17:08 +02:00
acpi_watchdog.c ACPI: watchdog: Allow disabling WDAT at boot 2020-03-20 10:54:23 +01:00
battery.c ACPI: battery: Fix missing NUL-termination with large strings 2023-03-11 16:26:36 +01:00
battery.h
bgrt.c
blacklist.c ACPI: blacklist: fix clang warning for unused DMI table 2019-08-06 19:05:22 +02:00
bus.c ACPI: bus: Call kobject_put() in acpi_init() error path 2021-07-20 16:17:33 +02:00
button.c ACPI / button: make module loadable when booted in non-ACPI mode 2018-05-09 09:51:49 +02:00
cm_sbs.c
container.c
cppc_acpi.c ACPI: CPPC: Avoid out of bounds access when parsing _CPC data 2022-04-20 09:08:25 +02:00
custom_method.c ACPI: custom_method: fix a possible memory leak 2021-05-22 10:57:14 +02:00
debugfs.c
device_pm.c PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() 2020-12-29 13:47:04 +01:00
device_sysfs.c ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias() 2023-11-20 10:27:33 +01:00
dock.c
ec.c ACPI: EC: Fix oops when removing custom query handlers 2023-05-30 12:38:34 +01:00
ec_sys.c ACPI: EC: Fix debugfs_create_*() usage 2018-04-12 12:32:15 +02:00
event.c
evged.c ACPI: GED: fix -Wformat 2020-11-22 10:00:25 +01:00
fan.c
glue.c
hed.c
internal.h ACPI: scan: Use unique number for instance_no 2021-03-30 14:40:12 +02:00
ioapic.c
irq.c ACPI: irq: Fix incorrect return value in acpi_register_gsi() 2023-10-25 11:13:33 +02:00
numa.c ACPI: Add out of bounds and numa_off protections to pxm_to_node() 2020-11-05 11:06:56 +01:00
nvs.c
osi.c
osl.c ACPI: OSL: only free map once in osl.c 2019-12-17 20:39:36 +01:00
pci_irq.c ACPI / PCI: fix acpi_pci_irq_enable() memory leak 2019-10-05 12:48:00 +02:00
pci_link.c
pci_mcfg.c
pci_root.c PCI/ACPI: Correct error message for ASPM disabling 2019-11-20 18:00:05 +01:00
pci_slot.c
power.c ACPI: power: Skip duplicate power resource references in _PRx 2019-01-16 22:07:11 +01:00
proc.c
processor_core.c
processor_driver.c
processor_idle.c ACPI: processor idle: Fix up C-state latency if not ordered 2021-07-20 16:17:33 +02:00
processor_pdc.c
processor_perflib.c ACPI: processor_perflib: Do not send _PPC change notification if not ready 2018-04-26 11:02:16 +02:00
processor_thermal.c
processor_throttling.c x86: ACPI: fix CPU hotplug deadlock 2020-04-24 08:01:20 +02:00
property.c ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool 2022-08-25 11:11:32 +02:00
reboot.c
resource.c Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks" 2020-12-29 13:47:05 +01:00
sbs.c ACPI / SBS: Fix GPE storm on recent MacBookPro's 2019-04-20 09:15:05 +02:00
sbshc.c ACPI / SBS: Fix rare oops when removing modules 2019-11-24 08:23:19 +01:00
sbshc.h
scan.c ACPI: scan: Fix a memory leak in an error handling path 2021-05-22 10:57:40 +02:00
sleep.c ACPI: PM: save NVS memory for Lenovo G40-45 2022-08-25 11:11:14 +02:00
sleep.h
spcr.c ACPI: SPCR: Consider baud rate 0 as preconfigured state 2019-02-12 19:45:59 +01:00
sysfs.c ACPI: sysfs: Fix BERT error region memory mapping 2022-06-06 08:20:56 +02:00
tables.c ACPI: tables: x86: Reserve memory occupied by ACPI tables 2021-05-22 10:57:12 +02:00
thermal.c ACPI: thermal: drop an always true check 2023-06-09 10:22:53 +02:00
utils.c
video_detect.c ACPI: video: Add backlight=native DMI quirk for Lenovo Ideapad Z470 2023-09-23 10:47:03 +02:00
wakeup.c