On Mon, 26 Oct 2020 10:21:26 +0800 Zhang Qilong wrote:
> Using size of "net//neigh/" is not clear, the use
> of stitching("net/" + /neigh") should be clearer.
>
> Signed-off-by: Zhang Qilong <[email protected]>
> ---
> net/core/neighbour.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/net/core/neighbour.c b/net/core/neighbour.c
> index 8e39e28b0a8d..0474e73c4f9f 100644
> --- a/net/core/neighbour.c
> +++ b/net/core/neighbour.c
> @@ -3623,7 +3623,14 @@ int neigh_sysctl_register(struct net_device *dev,
> struct neigh_parms *p,
> int i;
> struct neigh_sysctl_table *t;
> const char *dev_name_source;
> - char neigh_path[ sizeof("net//neigh/") + IFNAMSIZ + IFNAMSIZ ];
> +
> + /*
> + * The path pattern is as follows
> + * "net/%s/neigh/%s", minusing one
> + * is for unnecessary terminators.
> + */
> + char neigh_path[sizeof("net/") - 1 + IFNAMSIZ +
> + sizeof("/neigh/") + IFNAMSIZ];
Let's leave this. The code is fine, the re-factoring is not worth the
back an forth.
> char *p_name;
>
> t = kmemdup(&neigh_sysctl_template, sizeof(*t), GFP_KERNEL);