[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6ec8cf42-aff0-a832-87f2-1526ff00c42d@datenfreihafen.org>
Date: Fri, 16 Jun 2023 23:32:48 +0200
From: Stefan Schmidt <stefan@...enfreihafen.org>
To: Azeem Shaikh <azeemshaikh38@...il.com>,
Alexander Aring <alex.aring@...il.com>,
Miquel Raynal <miquel.raynal@...tlin.com>
Cc: linux-hardening@...r.kernel.org, linux-wpan@...r.kernel.org,
linux-kernel@...r.kernel.org,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org
Subject: Re: [PATCH] ieee802154: Replace strlcpy with strscpy
Hello.
On 13.06.23 02:33, Azeem Shaikh wrote:
> strlcpy() reads the entire source buffer first.
> This read may exceed the destination size limit.
> This is both inefficient and can lead to linear read
> overflows if a source string is not NUL-terminated [1].
> In an effort to remove strlcpy() completely [2], replace
> strlcpy() here with strscpy().
>
> Direct replacement is safe here since the return values
> from the helper macros are ignored by the callers.
>
> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
> [2] https://github.com/KSPP/linux/issues/89
>
> Signed-off-by: Azeem Shaikh <azeemshaikh38@...il.com>
> ---
> net/ieee802154/trace.h | 2 +-
> net/mac802154/trace.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/ieee802154/trace.h b/net/ieee802154/trace.h
> index e5d8439b9e45..c16db0b326fa 100644
> --- a/net/ieee802154/trace.h
> +++ b/net/ieee802154/trace.h
> @@ -13,7 +13,7 @@
>
> #define MAXNAME 32
> #define WPAN_PHY_ENTRY __array(char, wpan_phy_name, MAXNAME)
> -#define WPAN_PHY_ASSIGN strlcpy(__entry->wpan_phy_name, \
> +#define WPAN_PHY_ASSIGN strscpy(__entry->wpan_phy_name, \
> wpan_phy_name(wpan_phy), \
> MAXNAME)
> #define WPAN_PHY_PR_FMT "%s"
> diff --git a/net/mac802154/trace.h b/net/mac802154/trace.h
> index 689396d6c76a..1574ecc48075 100644
> --- a/net/mac802154/trace.h
> +++ b/net/mac802154/trace.h
> @@ -14,7 +14,7 @@
>
> #define MAXNAME 32
> #define LOCAL_ENTRY __array(char, wpan_phy_name, MAXNAME)
> -#define LOCAL_ASSIGN strlcpy(__entry->wpan_phy_name, \
> +#define LOCAL_ASSIGN strscpy(__entry->wpan_phy_name, \
> wpan_phy_name(local->hw.phy), MAXNAME)
> #define LOCAL_PR_FMT "%s"
> #define LOCAL_PR_ARG __entry->wpan_phy_name
This patch has been applied to the wpan tree and will be
part of the next pull request to net. Thanks!
regards
Stefan Schmidt
Powered by blists - more mailing lists