Re: [PATCH 03/20] devlink: Manual replacement of the deprecated strlcpy() with return values

From: Jakub Kicinski
Date: Mon Feb 22 2021 - 19:57:39 EST


On Mon, 22 Feb 2021 16:12:14 +0100 Romain Perier wrote:
> diff --git a/net/core/devlink.c b/net/core/devlink.c
> index 737b61c2976e..7eb445460c92 100644
> --- a/net/core/devlink.c
> +++ b/net/core/devlink.c
> @@ -9461,10 +9461,10 @@ EXPORT_SYMBOL_GPL(devlink_port_param_value_changed);
> void devlink_param_value_str_fill(union devlink_param_value *dst_val,
> const char *src)
> {
> - size_t len;
> + ssize_t len;
>
> - len = strlcpy(dst_val->vstr, src, __DEVLINK_PARAM_MAX_STRING_VALUE);
> - WARN_ON(len >= __DEVLINK_PARAM_MAX_STRING_VALUE);
> + len = strscpy(dst_val->vstr, src, __DEVLINK_PARAM_MAX_STRING_VALUE);
> + WARN_ON(len == -E2BIG);

WARN_ON(len < 0) ?