linux-stable/drivers/acpi
Christophe JAILLET f6a14247f9 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:29:17 +01:00
..
acpica ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer 2023-09-23 10:48:15 +02:00
apei ACPI/APEI: Limit printable size of BERT table data 2022-04-15 14:14:54 +02:00
arm64 acpi/arm64: fix next_platform_timer() section mismatch error 2021-10-20 11:23:04 +02:00
dptf
nfit ACPI: NFIT: fix a potential deadlock during NFIT teardown 2023-03-03 11:40:07 +01:00
pmic ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses 2021-11-26 11:36:16 +01:00
x86 x86/cpu: Sanitize FAM6_ATOM naming 2019-05-14 19:17:53 +02:00
ac.c
acpi_amba.c ACPI: AMBA: Fix resource name in /proc/iomem 2021-07-20 16:16:12 +02:00
acpi_apd.c
acpi_cmos_rtc.c
acpi_configfs.c ACPI: configfs: add missing check after configfs_register_default_group() 2021-03-04 09:39:51 +01:00
acpi_dbg.c ACPI: debug: don't allow debugging when ACPI is disabled 2020-11-05 11:08:47 +01:00
acpi_extlog.c ACPI: extlog: Handle multiple records 2022-11-03 23:52:25 +09:00
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c
acpi_lpss.c ACPI: LPSS: Fix missing check in register_device_clock() 2022-08-25 11:14:59 +02:00
acpi_memhotplug.c mm/memory_hotplug: make remove_memory() take the device_hotplug_lock 2020-01-29 16:43:24 +01:00
acpi_pad.c treewide: Remove uninitialized_var() usage 2023-08-11 11:45:01 +02:00
acpi_platform.c
acpi_pnp.c ACPI: PNP: compare the string length in the matching_id() 2020-12-30 11:26:08 +01:00
acpi_processor.c ACPI / processor: don't print errors for processorIDs == 0xff 2019-10-05 13:09:38 +02:00
acpi_tad.c
acpi_video.c ACPI: video: Add Toshiba Satellite/Portege Z830 quirk 2022-10-26 13:19:35 +02:00
acpi_watchdog.c ACPI: watchdog: Allow disabling WDAT at boot 2020-03-20 11:55:52 +01:00
battery.c ACPI: battery: Fix missing NUL-termination with large strings 2023-03-11 16:31:36 +01:00
bgrt.c
blacklist.c ACPI: blacklist: fix clang warning for unused DMI table 2019-08-06 19:06:50 +02:00
bus.c ACPI: bus: Call kobject_put() in acpi_init() error path 2021-07-20 16:15:46 +02:00
button.c ACPI: button: Add DMI quirk for Medion Akoya E2228T 2020-11-24 13:27:19 +01:00
cm_sbs.c
container.c
cppc_acpi.c ACPI: CPPC: Do not prevent CPPC from working in the future 2022-08-25 11:15:30 +02:00
custom_method.c ACPI: custom_method: fix a possible memory leak 2021-05-22 10:59:12 +02:00
debugfs.c
device_pm.c PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() 2020-12-30 11:26:08 +01:00
device_sysfs.c ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias() 2023-11-20 10:29:17 +01:00
dock.c
ec.c ACPI: EC: Fix oops when removing custom query handlers 2023-05-30 12:42:08 +01:00
ec_sys.c
event.c
evged.c ACPI: GED: fix -Wformat 2020-11-22 10:02:26 +01:00
fan.c
glue.c
hed.c
internal.h ACPI: scan: Use unique number for instance_no 2021-03-30 14:37:02 +02:00
ioapic.c
irq.c ACPI: irq: Fix incorrect return value in acpi_register_gsi() 2023-10-25 11:17:02 +02:00
Kconfig
Makefile ACPI: tables: Add custom DSDT file as makefile prerequisite 2021-07-20 16:15:46 +02:00
numa.c ACPI: Add out of bounds and numa_off protections to pxm_to_node() 2020-11-05 11:08:42 +01:00
nvs.c
osi.c
osl.c ACPI: OSL: only free map once in osl.c 2019-12-17 20:35:05 +01:00
pci_irq.c ACPI / PCI: fix acpi_pci_irq_enable() memory leak 2019-10-05 13:09:53 +02:00
pci_link.c
pci_mcfg.c
pci_root.c PCI/ACPI: Correct error message for ASPM disabling 2019-11-20 18:46:52 +01:00
pci_slot.c
power.c
pptt.c ACPI/PPTT: Add support for ACPI 6.3 thread flag 2019-10-17 13:45:34 -07: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:15:45 +02:00
processor_pdc.c
processor_perflib.c
processor_thermal.c
processor_throttling.c x86: ACPI: fix CPU hotplug deadlock 2020-04-23 10:30:20 +02:00
property.c ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool 2022-08-25 11:15:38 +02:00
reboot.c
resource.c Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks" 2020-12-30 11:26:08 +01:00
sbs.c ACPI / SBS: Fix GPE storm on recent MacBookPro's 2019-04-20 09:16:01 +02:00
sbshc.c ACPI / SBS: Fix rare oops when removing modules 2019-11-24 08:20:31 +01:00
sbshc.h
scan.c ACPI: scan: Fix a memory leak in an error handling path 2021-05-22 10:59:45 +02:00
sleep.c ACPI: PM: save NVS memory for Lenovo G40-45 2022-08-25 11:14:59 +02:00
sleep.h
spcr.c
sysfs.c ACPI: sysfs: Fix BERT error region memory mapping 2022-06-06 08:24:20 +02:00
tables.c ACPI: tables: x86: Reserve memory occupied by ACPI tables 2021-05-07 10:49:25 +02:00
thermal.c ACPI: thermal: drop an always true check 2023-06-09 10:24:02 +02:00
utils.c ACPI / utils: Drop reference in test for device presence 2019-04-20 09:15:58 +02:00
video_detect.c ACPI: video: Add backlight=native DMI quirk for Lenovo Ideapad Z470 2023-09-23 10:48:15 +02:00
wakeup.c