diff mbox series

platform/x86: thinkpad-acpi: replace strcpy with strscpy

Message ID 20250107021507.4786-1-nitjoshi@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series platform/x86: thinkpad-acpi: replace strcpy with strscpy | expand

Commit Message

Nitin Joshi Jan. 7, 2025, 2:15 a.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: Nitin Joshi <nitjoshi@gmail.com>
---
 drivers/platform/x86/thinkpad_acpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mark Pearson Jan. 7, 2025, 3:13 p.m. UTC | #1
Hi Nitin,

On Mon, Jan 6, 2025, at 9:15 PM, Nitin Joshi 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: Nitin Joshi <nitjoshi@gmail.com>
> ---
>  drivers/platform/x86/thinkpad_acpi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/thinkpad_acpi.c 
> b/drivers/platform/x86/thinkpad_acpi.c
> index 2cfb2ac3f465..c9e2dfb942ec 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -11681,7 +11681,7 @@ static int __init set_ibm_param(const char 
> *val, const struct kernel_param *kp)
>  		if (strcmp(ibm->name, kp->name) == 0 && ibm->write) {
>  			if (strlen(val) > sizeof(ibms_init[i].param) - 1)
>  				return -ENOSPC;
> -			strcpy(ibms_init[i].param, val);
> +			strscpy(ibms_init[i].param, val);
>  			return 0;
>  		}
>  	}
> -- 
> 2.43.0

Looks good to me.
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>

Mark
Ilpo Järvinen Jan. 7, 2025, 6:36 p.m. UTC | #2
On Tue, 07 Jan 2025 11:15:07 +0900, Nitin Joshi 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] platform/x86: thinkpad-acpi: replace strcpy with strscpy
      commit: c9a90d746c09e61b1acb829d93f8283e296563fd

--
 i.
diff mbox series

Patch

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 2cfb2ac3f465..c9e2dfb942ec 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -11681,7 +11681,7 @@  static int __init set_ibm_param(const char *val, const struct kernel_param *kp)
 		if (strcmp(ibm->name, kp->name) == 0 && ibm->write) {
 			if (strlen(val) > sizeof(ibms_init[i].param) - 1)
 				return -ENOSPC;
-			strcpy(ibms_init[i].param, val);
+			strscpy(ibms_init[i].param, val);
 			return 0;
 		}
 	}