Re: [PATCH] drm/amdgpu: Replace deprecated strcpy with strscpy
From: Alex Deucher
Date: Tue Aug 18 2026 - 13:44:29 EST
On Tue, Aug 18, 2026 at 10:21 AM David Laight
<david.laight.linux@xxxxxxxxx> wrote:
>
> On Tue, 18 Aug 2026 09:01:43 -0400
> Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
>
> > Applied. Thanks!
> >
> > On Tue, Aug 18, 2026 at 7:10 AM Amin Gattout <amin.gattout@xxxxxxxxx> wrote:
> > >
> > > strcpy() has been deprecated because it performs no bounds checking
> > > on the destination buffer, which can lead to buffer overflows. Replace
> > > it with the safer strscpy(). No functional changes.
> > >
> > > Signed-off-by: Amin Gattout <amin.gattout@xxxxxxxxx>
> > > ---
> > > drivers/gpu/drm/amd/amdgpu/amdgpu_mca.c | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mca.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mca.c
> > > index cc6d1a4e4c3a..1caa393c44d5 100644
> > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mca.c
> > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mca.c
> > > @@ -97,7 +97,7 @@ int amdgpu_mca_mp0_ras_sw_init(struct amdgpu_device *adev)
> > > return err;
> > > }
> > >
> > > - strcpy(ras->ras_block.ras_comm.name, "mca.mp0");
> > > + strscpy(ras->ras_block.ras_comm.name, "mca.mp0");
>
> I missed this being proposed.
> Both strcpy() and strscpy() get converted to the same memcpy()
> (which might itself get converted to writing a 64bit constant).
>
> But if the string were too long strcpy() would generate a compile error
> whereas strscpy() just trunctates the string.
>
> Which one is better?
I don't know. I can go either way on this.
Alex
>
> David
>
> > > ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__MCA;
> > > ras->ras_block.ras_comm.sub_block_index = AMDGPU_RAS_MCA_BLOCK__MP0;
> > > ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE;
> > > @@ -122,7 +122,7 @@ int amdgpu_mca_mp1_ras_sw_init(struct amdgpu_device *adev)
> > > return err;
> > > }
> > >
> > > - strcpy(ras->ras_block.ras_comm.name, "mca.mp1");
> > > + strscpy(ras->ras_block.ras_comm.name, "mca.mp1");
> > > ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__MCA;
> > > ras->ras_block.ras_comm.sub_block_index = AMDGPU_RAS_MCA_BLOCK__MP1;
> > > ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE;
> > > @@ -147,7 +147,7 @@ int amdgpu_mca_mpio_ras_sw_init(struct amdgpu_device *adev)
> > > return err;
> > > }
> > >
> > > - strcpy(ras->ras_block.ras_comm.name, "mca.mpio");
> > > + strscpy(ras->ras_block.ras_comm.name, "mca.mpio");
> > > ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__MCA;
> > > ras->ras_block.ras_comm.sub_block_index = AMDGPU_RAS_MCA_BLOCK__MPIO;
> > > ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE;
> > >
> > > ---
> > > base-commit: 0f23d56f17fdfc7db69d51f64c8b91bbab947aa9
> > > change-id: 20260818-amdgpu-strcpy-0e92d18299c6
> > >
> > > Best regards,
> > > --
> > > Amin Gattout <amin.gattout@xxxxxxxxx>
> > >
> >
>