Re: [PATCH -stable 3.10 3.12 3.13] core, nfqueue, openvswitch: fix compilation warning

From: Kamal Mostafa
Date: Mon Apr 13 2015 - 12:26:22 EST


On Mon, 2015-04-13 at 16:41 +0200, Jiri Slaby wrote:
> Stable commit "core, nfqueue, openvswitch: Orphan frags in
> skb_zerocopy and handle errors", upstream commit
> 36d5fe6a000790f56039afe26834265db0a3ad4c, was not correctly backported
> and missed to change a const 'from' parameter to non-const. This
> results in a new batch of warnings:

Just FYI, the backport in 3.13-stable[0] -- Ben Hutchings' work --
actually does not exhibit this problem. nfqnl_zcopy() already has the
const removed and the file yields no compile warnings.

Thanks very much for the heads-up anyway, Jiri!

-Kamal

[0] http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=commitdiff;h=f2287ffc0e9c3d39cbc4ea9e2312640758201dfc


> net/netfilter/nfnetlink_queue_core.c: In function ânfqnl_zcopyâ:
> net/netfilter/nfnetlink_queue_core.c:272:2: warning: passing argument 1 of âskb_orphan_fragsâ discards âconstâ qualifier from pointer target type [enabled by default]
> if (unlikely(skb_orphan_frags(from, GFP_ATOMIC))) {
> ^
> In file included from net/netfilter/nfnetlink_queue_core.c:18:0:
> include/linux/skbuff.h:1822:19: note: expected âstruct sk_buff *â but argument is of type âconst struct sk_buff *â
> static inline int skb_orphan_frags(struct sk_buff *skb, gfp_t gfp_mask)
> ^
> net/netfilter/nfnetlink_queue_core.c:273:3: warning: passing argument 1 of âskb_tx_errorâ discards âconstâ qualifier from pointer target type [enabled by default]
> skb_tx_error(from);
> ^
> In file included from net/netfilter/nfnetlink_queue_core.c:18:0:
> include/linux/skbuff.h:630:13: note: expected âstruct sk_buff *â but argument is of type âconst struct sk_buff *â
> extern void skb_tx_error(struct sk_buff *skb);
>
> Remove const from the 'from' parameter, the same as in the upstream
> commit.
>
> As far as I can see, this leaked into 3.10, 3.12, and 3.13 already.
>
> Cc: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>
> Cc: David S. Miller <davem@xxxxxxxxxxxxx>
> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Kamal Mostafa <kamal.mostafa@xxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx # v3.10, v3.12, v3.13
> Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
> ---
> net/netfilter/nfnetlink_queue_core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/netfilter/nfnetlink_queue_core.c b/net/netfilter/nfnetlink_queue_core.c
> index f5c34db24498..8abb522ec322 100644
> --- a/net/netfilter/nfnetlink_queue_core.c
> +++ b/net/netfilter/nfnetlink_queue_core.c
> @@ -236,7 +236,7 @@ nfqnl_flush(struct nfqnl_instance *queue, nfqnl_cmpfn cmpfn, unsigned long data)
> }
>
> static int
> -nfqnl_zcopy(struct sk_buff *to, const struct sk_buff *from, int len, int hlen)
> +nfqnl_zcopy(struct sk_buff *to, struct sk_buff *from, int len, int hlen)
> {
> int i, j = 0;
> int plen = 0; /* length of skb->head fragment */


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/