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 |
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
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 --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; } }
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(-)