RE: [PATCH net] netfilter: nf_queue:fix reinject verdict handling

From: Jagdish Motwani
Date: Mon May 13 2019 - 06:44:43 EST


Hi Pablo,

The case I am referring to is : If there are more than 1 hooks returning NF_QUEUE verdict.
When the first queue reinjects the packet, 'nf_reinject' starts traversing hooks with hook_index (i).
However if it again receives a NF_QUEUE verdict (by some other netfilter hook), it queue with the wrong hook_index.
So, when the second queue reinjects the packet, it re-executes some hooks in between the first 2 hooks.

Thanks, I will mark : Fixes: 960632ece694 ("netfilter: convert hook list to an array") and update the description also.

Regards,
Jagdish
-----Original Message-----
From: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Sent: Monday, May 13, 2019 2:52 PM
To: Jagdish Motwani <j.k.motwani@xxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx; Jagdish Motwani <Jagdish.Motwani@xxxxxxxxxx>; Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx>; Florian Westphal <fw@xxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; netfilter-devel@xxxxxxxxxxxxxxx; coreteam@xxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH net] netfilter: nf_queue:fix reinject verdict handling

Hi Jagdish,


On Thu, May 09, 2019 at 12:01:14AM +0530, Jagdish Motwani wrote:
> From: Jagdish Motwani <jagdish.motwani@xxxxxxxxxx>
>
> In case of more than 1 nf_queues, hooks between them are being
> executed more than once.

This refers to NF_REPEAT, correct?

I think this broke with 960632ece6949. If so, it would be good to add the following tag to this patch then. It's useful for robots collecting fixes for -stable kernels.

Fixes: 960632ece694 ("netfilter: convert hook list to an array")

> Signed-off-by: Jagdish Motwani <jagdish.motwani@xxxxxxxxxx>

Thanks.

________________________________

Sophos Technologies Private Limited Regd. Office: Sophos House, Saigulshan Complex, Beside White House, Panchvati Cross Road, Ahmedabad - 380006, Gujarat, India CIN: U72200GJ2006PTC047857

Sophos Ltd, a company registered in England and Wales number 2096520, The Pentagon, Abingdon Science Park, Abingdon, OX14 3YP, United Kingdom.