Re: [PATCH] net: qlge: use memmove instead of skb_copy_to_linear_data

From: David Miller
Date: Fri Feb 02 2018 - 19:46:22 EST


From: Arnd Bergmann <arnd@xxxxxxxx>
Date: Fri, 2 Feb 2018 16:45:44 +0100

> gcc-8 points out that the skb_copy_to_linear_data() argument points to
> the skb itself, which makes it run into a problem with overlapping
> memcpy arguments:
>
> In file included from include/linux/ip.h:20,
> from drivers/net/ethernet/qlogic/qlge/qlge_main.c:26:
> drivers/net/ethernet/qlogic/qlge/qlge_main.c: In function 'ql_realign_skb':
> include/linux/skbuff.h:3378:2: error: 'memcpy' source argument is the same as destination [-Werror=restrict]
> memcpy(skb->data, from, len);
>
> It's unclear to me what the best solution is, maybe it ought to use a
> different helper that adjusts the skb data in a safe way. Simply using
> memmove() here seems like the easiest workaround.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

This looks fine, applied, thanks.