All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <kees@kernel.org>
To: Ethan Carter Edwards <ethan@ethancedwards.com>
Cc: Theodore Ts'o <tytso@mit.edu>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [PATCH v2] ext4: replace strcpy() with '.' assignment
Date: Mon, 19 May 2025 06:52:13 -0700	[thread overview]
Message-ID: <202505190651.943F729@keescook> (raw)
In-Reply-To: <20250518-ext4-strcpy-v2-1-80d316325046@ethancedwards.com>

On Sun, May 18, 2025 at 11:54:21PM -0400, Ethan Carter Edwards wrote:
> strcpy() is deprecated; assignment can be used instead which
> theoretically/potentially increases speed as a function call is removed.
> 
> Straight assignment works because the strings are not null-terminated
> which means they don't strictly require a str(s)cpy call.
> 
> No functional changes intended.
> 
> Link: https://github.com/KSPP/linux/issues/88
> Suggested-by: Theodore Ts'o <tytso@mit.edu>
> Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
> ---
> There's an ongoing effort to remove calls to strcpy throughout the
> kernel.
> 
> Link: https://github.com/KSPP/linux/issues/88
> ---
> Changes in v2:
> - completely remove the call to strcpy and replace it with assignment
>   off of Theo's suggestion. Thanks.
> - Link to v1: https://lore.kernel.org/r/20250518-ext4-strcpy-v1-1-6c8a82ff078f@ethancedwards.com
> ---
>  fs/ext4/inline.c | 4 ++--
>  fs/ext4/namei.c  | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
> index 2c9b762925c72f2ff5a402b02500370bc1eb0eb1..f3bc8b3904a8a9b55162f002b5bd63a527b290a5 100644
> --- a/fs/ext4/inline.c
> +++ b/fs/ext4/inline.c
> @@ -1314,7 +1314,7 @@ int ext4_inlinedir_to_tree(struct file *dir_file,
>  		if (pos == 0) {
>  			fake.inode = cpu_to_le32(inode->i_ino);
>  			fake.name_len = 1;
> -			strcpy(fake.name, ".");
> +			fake.name[0] = ".";

This means the trailing NUL byte isn't being copied any more? That seems
like a big change, even if name_len is being used for length tracking.

-- 
Kees Cook

  parent reply	other threads:[~2025-05-19 13:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-19  3:54 [PATCH v2] ext4: replace strcpy() with '.' assignment Ethan Carter Edwards
2025-05-19  5:58 ` kernel test robot
2025-05-19 13:56   ` Theodore Ts'o
2025-05-19  5:58 ` kernel test robot
2025-05-19 13:52 ` Kees Cook [this message]
2025-05-19 14:59   ` Theodore Ts'o
2025-05-23 12:31     ` David Laight
2025-05-23 14:24       ` Theodore Ts'o
2025-05-23 17:14         ` Kees Cook
2025-05-23 22:07           ` Theodore Ts'o

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202505190651.943F729@keescook \
    --to=kees@kernel.org \
    --cc=adilger.kernel@dilger.ca \
    --cc=ethan@ethancedwards.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.