diff mbox series

fujitsu-laptop: replace strcpy -> strscpy

Message ID 20241127203710.36425-1-abdul.rahim@myyahoo.com (mailing list archive)
State Accepted, archived
Headers show
Series fujitsu-laptop: replace strcpy -> strscpy | expand

Commit Message

Abdul Rahim Nov. 27, 2024, 8:37 p.m. UTC
strcpy() performs no bounds checking on the destination buffer. This
could result in linear overflows beyond the end of the buffer, leading
to all kinds of misbehaviors.[1]

[1]: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy

Signed-off-by: Abdul Rahim <abdul.rahim@myyahoo.com>
---
 drivers/platform/x86/fujitsu-laptop.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Jonathan Woithe Nov. 28, 2024, 2:39 a.m. UTC | #1
On Thu, Nov 28, 2024 at 02:07:07AM +0530, Abdul Rahim wrote:
> strcpy() performs no bounds checking on the destination buffer. This
> could result in linear overflows beyond the end of the buffer, leading
> to all kinds of misbehaviors.[1]
> 
> [1]: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy
> 
> Signed-off-by: Abdul Rahim <abdul.rahim@myyahoo.com>
> ---
>  drivers/platform/x86/fujitsu-laptop.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
> index ae992ac1ab4a..a0eae24ca9e6 100644
> --- a/drivers/platform/x86/fujitsu-laptop.c
> +++ b/drivers/platform/x86/fujitsu-laptop.c
> @@ -505,8 +505,8 @@ static int acpi_fujitsu_bl_add(struct acpi_device *device)
>  		return -ENOMEM;
>  
>  	fujitsu_bl = priv;
> -	strcpy(acpi_device_name(device), ACPI_FUJITSU_BL_DEVICE_NAME);
> -	strcpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
> +	strscpy(acpi_device_name(device), ACPI_FUJITSU_BL_DEVICE_NAME);
> +	strscpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
>  	device->driver_data = priv;
>  
>  	pr_info("ACPI: %s [%s]\n",
> @@ -891,8 +891,8 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device)
>  	WARN_ONCE(fext, "More than one FUJ02E3 ACPI device was found.  Driver may not work as intended.");
>  	fext = device;
>  
> -	strcpy(acpi_device_name(device), ACPI_FUJITSU_LAPTOP_DEVICE_NAME);
> -	strcpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
> +	strscpy(acpi_device_name(device), ACPI_FUJITSU_LAPTOP_DEVICE_NAME);
> +	strscpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
>  	device->driver_data = priv;
>  
>  	/* kfifo */

This looks good to me and is a useful improvement.  Thanks!

Acked-by: Jonathan Woithe <jwoithe@just42.net>
Ilpo Järvinen Dec. 2, 2024, 5:12 p.m. UTC | #2
On Thu, 28 Nov 2024 02:07:07 +0530, Abdul Rahim wrote:

> strcpy() performs no bounds checking on the destination buffer. This
> could result in linear overflows beyond the end of the buffer, leading
> to all kinds of misbehaviors.[1]
> 
> [1]: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy
> 
> 
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo-next branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-next branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] fujitsu-laptop: replace strcpy -> strscpy
      commit: 0ffafd4a3b39b341a4d7d73df34ab3b2c07a26c0

--
 i.
diff mbox series

Patch

diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
index ae992ac1ab4a..a0eae24ca9e6 100644
--- a/drivers/platform/x86/fujitsu-laptop.c
+++ b/drivers/platform/x86/fujitsu-laptop.c
@@ -505,8 +505,8 @@  static int acpi_fujitsu_bl_add(struct acpi_device *device)
 		return -ENOMEM;
 
 	fujitsu_bl = priv;
-	strcpy(acpi_device_name(device), ACPI_FUJITSU_BL_DEVICE_NAME);
-	strcpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
+	strscpy(acpi_device_name(device), ACPI_FUJITSU_BL_DEVICE_NAME);
+	strscpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
 	device->driver_data = priv;
 
 	pr_info("ACPI: %s [%s]\n",
@@ -891,8 +891,8 @@  static int acpi_fujitsu_laptop_add(struct acpi_device *device)
 	WARN_ONCE(fext, "More than one FUJ02E3 ACPI device was found.  Driver may not work as intended.");
 	fext = device;
 
-	strcpy(acpi_device_name(device), ACPI_FUJITSU_LAPTOP_DEVICE_NAME);
-	strcpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
+	strscpy(acpi_device_name(device), ACPI_FUJITSU_LAPTOP_DEVICE_NAME);
+	strscpy(acpi_device_class(device), ACPI_FUJITSU_CLASS);
 	device->driver_data = priv;
 
 	/* kfifo */