Re: [PATCH 1/2] ocfs2: Replace deprecated strcpy in ocfs2_create_xattr_block

From: Joseph Qi

Date: Wed Nov 19 2025 - 00:31:55 EST




On 2025/11/19 02:53, Thorsten Blum wrote:
> strcpy() has been deprecated [1] because it performs no bounds checking
> on the destination buffer, which can lead to buffer overflows. Replace
> it with the safer strscpy(), and copy directly into '->xb_signature'
> instead of using the start of the struct as the destination buffer.
>
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
> Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>

Looks good.
Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx>

> ---
> fs/ocfs2/xattr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
> index d70a20d29e3e..73c028f452ac 100644
> --- a/fs/ocfs2/xattr.c
> +++ b/fs/ocfs2/xattr.c
> @@ -2908,7 +2908,7 @@ static int ocfs2_create_xattr_block(struct inode *inode,
> /* Initialize ocfs2_xattr_block */
> xblk = (struct ocfs2_xattr_block *)new_bh->b_data;
> memset(xblk, 0, inode->i_sb->s_blocksize);
> - strcpy((void *)xblk, OCFS2_XATTR_BLOCK_SIGNATURE);
> + strscpy(xblk->xb_signature, OCFS2_XATTR_BLOCK_SIGNATURE);
> xblk->xb_suballoc_slot = cpu_to_le16(ctxt->meta_ac->ac_alloc_slot);
> xblk->xb_suballoc_loc = cpu_to_le64(suballoc_loc);
> xblk->xb_suballoc_bit = cpu_to_le16(suballoc_bit_start);