linux/drivers/platform/x86
Hans de Goede 71d69e82f4 platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string
Commit 0ddcf3a6b4 ("platform/x86: think-lmi: Avoid potential read before
start of the buffer") moved the length == 0 up to before stripping the '\n'
which typically gets added when users echo a value to a sysfs-attribute
from the shell.

This avoids a potential buffer-underrun, but it also causes a behavioral
change, prior to this change "echo > kbdlang", iow writing just a single
'\n' would result in an EINVAL error, but after the change this gets
accepted setting kbdlang to an empty string.

Fix this by replacing the manual '\n' check with using strchrnul() to get
the length till '\n' or terminating 0 in one go; and then do the
length != 0 check after this.

Fixes: 0ddcf3a6b4 ("platform/x86: think-lmi: Avoid potential read before start of the buffer")
Reported-by: Juha Leppänen <juha_efku@dnainternet.net>
Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210621193648.44138-1-hdegoede@redhat.com
2021-06-22 11:42:31 +02:00
..
dell platform/x86: Remove "default n" entries 2021-06-22 11:05:08 +02:00
intel platform/x86: intel_cht_int33fe: Move to its own subfolder 2021-06-22 11:32:30 +02:00
intel_speed_select_if platform/x86: ISST: Use numa node id for cpu pci dev mapping 2021-06-18 15:29:36 +02:00
acer-wireless.c acer-wireless: send an EV_SYN/SYN_REPORT between state changes 2020-12-07 16:10:11 +01:00
acer-wmi.c platform/x86: acer-wmi: Don't use ACPI_EXCEPTION() 2021-02-04 15:15:19 +01:00
acerhdf.c thermal/core: Remove ms based delay fields 2021-01-19 22:23:49 +01:00
adv_swbutton.c platform/x86: add support for Advantech software defined button 2021-04-07 19:46:56 +02:00
amd-pmc.c platform/x86: amd-pmc: put device on error paths 2021-02-02 19:33:44 +01:00
amilo-rfkill.c
apple-gmux.c platform/x86: apple-gmux: Replace HTTP links with HTTPS ones 2020-07-15 13:01:20 +03:00
asus-laptop.c platform/x86: asus-laptop: fix kobj_to_dev.cocci warnings 2021-03-23 21:06:10 +01:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Revert "add support for ASUS ROG Zephyrus G14 and G15" 2021-06-16 17:47:50 +02:00
asus-wireless.c
asus-wmi.c platform/x86: asus-wmi: Add param to turn fn-lock mode on by default 2021-04-07 19:47:08 +02:00
asus-wmi.h platform/x86: asus-wmi: Add support for SW_TABLET_MODE on UX360 2020-10-28 12:47:37 +01:00
classmate-laptop.c platform/x86: Typo fix in the file classmate-laptop.c 2021-03-23 21:05:58 +01:00
compal-laptop.c
eeepc-laptop.c platform/x86: eeepc-laptop: Drop duplicate check for led_classdev_unregister() 2020-05-07 19:39:32 +03:00
eeepc-wmi.c
firmware_attributes_class.c platform/x86: dell-wmi-sysman: fw_attr_inuse can be static 2021-06-16 17:47:52 +02:00
firmware_attributes_class.h platform/x86: firmware_attributes_class: Create helper file for handling firmware-attributes class registration events 2021-06-16 17:47:51 +02:00
fujitsu-laptop.c
fujitsu-tablet.c
gigabyte-wmi.c platform/x86: gigabyte-wmi: add support for B550 Aorus Elite 2021-05-19 15:59:47 +02:00
gpd-pocket-fan.c platform/x86: gpd pocket fan: Clean-up by using managed work init 2021-03-23 15:22:40 +01:00
hdaps.c platform/x86: hdaps: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
hp_accel.c platform/x86: hp_accel: Avoid invoking _INI to speed up resume 2021-05-11 13:44:18 +02:00
hp-wmi.c platform/x86: hp-wmi: add platform profile support 2021-03-08 11:33:39 +01:00
huawei-wmi.c
i2c-multi-instantiate.c platform/x86: i2c-multi-instantiate: Don't create platform device for INT3515 ACPI nodes 2021-01-04 15:54:45 +01:00
ibm_rtl.c
ideapad-laptop.c platform/x86: ideapad-laptop: Ignore VPC event bit 10 2021-06-16 17:47:50 +02:00
intel_atomisp2_led.c platform/x86: Add new intel_atomisp2_led driver 2020-07-09 22:47:27 +03:00
intel_atomisp2_pm.c
intel_bxtwc_tmu.c
intel_chtdc_ti_pwrbtn.c platform/x86: intel_chtdc_ti_pwrbtn: Fix missing IRQF_ONESHOT as only threaded handler 2021-04-15 13:46:23 +02:00
intel_int0002_vgpio.c platform/x86: intel_int0002_vgpio: Only call enable_irq_wake() when using s2idle 2021-05-19 15:59:47 +02:00
intel_ips.c platform/x86: intel_ips: fix set but unused warning in read_mgtv 2021-06-16 17:47:55 +02:00
intel_ips.h
intel_menlow.c
intel_mrfld_pwrbtn.c
intel_oaktrail.c
intel_pmc_core_pltdrv.c platform/x86: intel_pmc_core: do not create a static struct device 2020-09-24 14:05:21 +03:00
intel_pmc_core.c platform/x86: intel_pmc_core: Uninitialized data in pmc_core_lpm_latch_mode_write() 2021-04-21 21:32:31 +02:00
intel_pmc_core.h platform/x86: intel_pmc_core: Add LTR registers for Tiger Lake 2021-04-19 10:44:28 +02:00
intel_pmt_class.c platform/x86: intel_pmt_class: Initial resource to 0 2021-03-23 21:49:56 +01:00
intel_pmt_class.h mfd: intel_pmt: Add support for DG1 2021-03-10 10:48:48 +00:00
intel_pmt_crashlog.c platform/x86: intel_pmt_crashlog: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
intel_pmt_telemetry.c mfd: intel_pmt: Add support for DG1 2021-03-10 10:48:48 +00:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Append MODULE_DEVICE_TABLE for ACPI 2021-05-19 15:59:47 +02:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: Increase virtual timeout from 3 to 5 seconds 2021-02-11 16:49:10 +01:00
intel_scu_ipcutil.c platform/x86: intel_scu_ipcutil: Convert to use new SCU IPC API 2020-04-24 11:17:41 +01:00
intel_scu_pcidrv.c sfi: Remove framework for deprecated firmware 2021-02-15 20:09:46 +01:00
intel_scu_pltdrv.c platform/x86: Add Elkhart Lake SCU/PMC support 2020-05-05 20:26:16 +03:00
intel_scu_wdt.c platform/x86: intel_scu_wdt: Drop mistakenly added const 2021-02-05 12:54:27 +02:00
intel_telemetry_core.c platform/x86: intel_telemetry: Add telemetry_get_pltdata() 2020-04-24 11:18:30 +01:00
intel_telemetry_debugfs.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_telemetry_pltdrv.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_turbo_max_3.c
intel-hid.c platform/x86: intel-hid: Fix spurious wakeups caused by tablet-mode events during suspend 2021-04-06 22:10:21 +02:00
intel-rst.c
intel-smartconnect.c
intel-uncore-frequency.c platform/x86/intel-uncore-freq: Add Sapphire Rapids server support 2021-02-03 13:10:34 +01:00
intel-vbtn.c platform/x86: intel-vbtn: Remove unused KEYMAP_LEN define 2021-04-07 19:47:13 +02:00
intel-wmi-sbl-fw-update.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
intel-wmi-thunderbolt.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
Kconfig platform/x86: intel_cht_int33fe: Move to its own subfolder 2021-06-22 11:32:30 +02:00
lg-laptop.c platform: x86: ACPI: Get rid of ACPICA message printing 2021-03-08 11:33:39 +01:00
Makefile platform/x86: intel_cht_int33fe: Move to its own subfolder 2021-06-22 11:32:30 +02:00
mlx-platform.c platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system 2020-12-08 11:14:49 +01:00
msi-laptop.c
msi-wmi.c platform/x86: msi-wmi: Fix variable 'status' set but not used compiler warning 2021-02-04 13:35:20 +01:00
mxm-wmi.c
panasonic-laptop.c platform/x86: panasonic-laptop: remove redundant assignment of variable result 2021-04-07 19:47:22 +02:00
pcengines-apuv2.c platform/x86: pcengines-apuv2: Fix typo on define of AMD_FCH_GPIO_REG_GPIO55_DEVSLP0 2020-09-24 14:04:53 +03:00
peaq-wmi.c
pmc_atom.c platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table 2021-04-14 15:52:37 +02:00
samsung-laptop.c platform/x86: samsung-laptop: set debugfs blobs to read only 2021-06-16 17:47:49 +02:00
samsung-q10.c
sony-laptop.c platform/x86: remove unneeded break 2020-10-28 12:32:06 +01:00
system76_acpi.c platform/x86: system76-acpi: Fix brightness_set schedule while atomic 2020-07-09 22:40:36 +03:00
tc1100-wmi.c platform/x86: tc1100-wmi: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
think-lmi.c platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string 2021-06-22 11:42:31 +02:00
think-lmi.h platform/x86: thinkpad-lmi: Remove unused display_name member from struct tlmi_pwd_setting 2021-06-16 17:47:52 +02:00
thinkpad_acpi.c platform/x86: thinkpad_acpi: Add X1 Carbon Gen 9 second fan support 2021-06-16 17:47:51 +02:00
topstar-laptop.c
toshiba_acpi.c platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard() 2021-06-16 17:47:51 +02:00
toshiba_bluetooth.c
toshiba_haps.c platform/x86: toshiba_haps: Fix missing newline in pr_debug call in toshiba_haps_notify 2021-06-16 17:47:49 +02:00
toshiba-wmi.c
touchscreen_dmi.c Signed tag for the immutable platform-drivers-x86-goodix branch for merging into the input subsystem. 2021-06-16 17:48:11 +02:00
uv_sysfs.c x86/platform/uv: Constify static attribute_group struct 2021-06-16 17:47:55 +02:00
wireless-hotkey.c platform/x86: Rename hp-wireless to wireless-hotkey 2021-06-16 17:47:49 +02:00
wmi-bmof.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
wmi.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
xiaomi-wmi.c platform/x86: wmi: Make two functions static 2020-04-17 16:47:26 +03:00
xo1-rfkill.c
xo15-ebook.c platform: x86: ACPI: Get rid of ACPICA message printing 2021-03-08 11:33:39 +01:00