diff mbox series

hamradio: baycom: replace strcpy() with strscpy()

Message ID bqKL4XKDGLWNih2jsEzZYpBSHG6Ux5mLZfDBIgHckEUxDq4l4pPgQPEXEqKRE7pUwMrXZBVeko9aYr1w_E5h5r_R_YFA46G8dGhV1id7zy4=@ethancedwards.com (mailing list archive)
State Changes Requested
Delegated to: Netdev Maintainers
Headers show
Series hamradio: baycom: replace strcpy() with strscpy() | expand

Checks

Context Check Description
netdev/tree_selection success Guessing tree name failed - patch did not apply

Commit Message

Ethan Carter Edwards Dec. 23, 2024, 3:13 p.m. UTC
The strcpy() function has been deprecated and replaced with strscpy().
There is an effort to make this change treewide:
https://github.com/KSPP/linux/issues/88.

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
---
 drivers/net/hamradio/baycom_par.c     | 4 ++--
 drivers/net/hamradio/baycom_ser_fdx.c | 2 +-
 drivers/net/hamradio/baycom_ser_hdx.c | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

--
2.47.1

Comments

Jakub Kicinski Jan. 3, 2025, 3:06 a.m. UTC | #1
On Mon, 23 Dec 2024 15:13:42 +0000 Ethan Carter Edwards wrote:
> The strcpy() function has been deprecated and replaced with strscpy().
> There is an effort to make this change treewide:
> https://github.com/KSPP/linux/issues/88.

Please rebase on net-next/main and repost.
Dan Carpenter Jan. 6, 2025, 9:55 a.m. UTC | #2
On Mon, Dec 23, 2024 at 03:13:42PM +0000, Ethan Carter Edwards wrote:
> The strcpy() function has been deprecated and replaced with strscpy().
> There is an effort to make this change treewide:
> https://github.com/KSPP/linux/issues/88.
> 
> Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
> ---
>  drivers/net/hamradio/baycom_par.c     | 4 ++--
>  drivers/net/hamradio/baycom_ser_fdx.c | 2 +-
>  drivers/net/hamradio/baycom_ser_hdx.c | 4 ++--
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/hamradio/baycom_par.c b/drivers/net/hamradio/baycom_par.c
> index 00ebc25d0b22..47bc74d3ad8c 100644
> --- a/drivers/net/hamradio/baycom_par.c
> +++ b/drivers/net/hamradio/baycom_par.c
> @@ -427,7 +427,7 @@ static int baycom_ioctl(struct net_device *dev, void __user *data,
>                 break;
> 
>         case HDLCDRVCTL_GETMODE:
> -               strcpy(hi->data.modename, bc->options ? "par96" : "picpar");
> +               strscpy(hi->data.modename, bc->options ? "par96" : "picpar", sizeof(hi->data.modename));

strscpy() has macro magic so you can just write this as:

	strscpy(hi->data.modename, bc->options ? "par96" : "picpar");

Looks nicer and it's easier to review.

regards,
dan carpenter
diff mbox series

Patch

diff --git a/drivers/net/hamradio/baycom_par.c b/drivers/net/hamradio/baycom_par.c
index 00ebc25d0b22..47bc74d3ad8c 100644
--- a/drivers/net/hamradio/baycom_par.c
+++ b/drivers/net/hamradio/baycom_par.c
@@ -427,7 +427,7 @@  static int baycom_ioctl(struct net_device *dev, void __user *data,
                break;

        case HDLCDRVCTL_GETMODE:
-               strcpy(hi->data.modename, bc->options ? "par96" : "picpar");
+               strscpy(hi->data.modename, bc->options ? "par96" : "picpar", sizeof(hi->data.modename));
                if (copy_to_user(data, hi, sizeof(struct hdlcdrv_ioctl)))
                        return -EFAULT;
                return 0;
@@ -439,7 +439,7 @@  static int baycom_ioctl(struct net_device *dev, void __user *data,
                return baycom_setmode(bc, hi->data.modename);

        case HDLCDRVCTL_MODELIST:
-               strcpy(hi->data.modename, "par96,picpar");
+               strscpy(hi->data.modename, "par96,picpar", sizeof(hi->data.modename));
                if (copy_to_user(data, hi, sizeof(struct hdlcdrv_ioctl)))
                        return -EFAULT;
                return 0;
diff --git a/drivers/net/hamradio/baycom_ser_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c
index 799f8ece7824..3dda6b215fe3 100644
--- a/drivers/net/hamradio/baycom_ser_fdx.c
+++ b/drivers/net/hamradio/baycom_ser_fdx.c
@@ -531,7 +531,7 @@  static int baycom_ioctl(struct net_device *dev, void __user *data,
                return baycom_setmode(bc, hi->data.modename);

        case HDLCDRVCTL_MODELIST:
-               strcpy(hi->data.modename, "ser12,ser3,ser24");
+               strscpy(hi->data.modename, "ser12,ser3,ser24", sizeof(hi->data.modename));
                if (copy_to_user(data, hi, sizeof(struct hdlcdrv_ioctl)))
                        return -EFAULT;
                return 0;
diff --git a/drivers/net/hamradio/baycom_ser_hdx.c b/drivers/net/hamradio/baycom_ser_hdx.c
index 5d1ab4840753..4f058f61659e 100644
--- a/drivers/net/hamradio/baycom_ser_hdx.c
+++ b/drivers/net/hamradio/baycom_ser_hdx.c
@@ -570,7 +570,7 @@  static int baycom_ioctl(struct net_device *dev, void __user *data,
                break;

        case HDLCDRVCTL_GETMODE:
-               strcpy(hi->data.modename, "ser12");
+               strscpy(hi->data.modename, "ser12", sizeof(hi->data.modename));
                if (bc->opt_dcd <= 0)
                        strcat(hi->data.modename, (!bc->opt_dcd) ? "*" : (bc->opt_dcd == -2) ? "@" : "+");
                if (copy_to_user(data, hi, sizeof(struct hdlcdrv_ioctl)))
@@ -584,7 +584,7 @@  static int baycom_ioctl(struct net_device *dev, void __user *data,
                return baycom_setmode(bc, hi->data.modename);

        case HDLCDRVCTL_MODELIST:
-               strcpy(hi->data.modename, "ser12");
+               strscpy(hi->data.modename, "ser12", sizeof(hi->data.modename));
                if (copy_to_user(data, hi, sizeof(struct hdlcdrv_ioctl)))
                        return -EFAULT;
                return 0;