diff mbox

[net,1/1] net sched filters: fix notification of filter delete with proper handle

Message ID 1477236912-5789-1-git-send-email-jhs@emojatatu.com
State Superseded, archived
Delegated to: David Miller
Headers show

Commit Message

Jamal Hadi Salim Oct. 23, 2016, 3:35 p.m. UTC
From: Jamal Hadi Salim <jhs@mojatatu.com>

Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
---
 net/sched/cls_api.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Daniel Borkmann Oct. 23, 2016, 10:30 p.m. UTC | #1
On 10/23/2016 05:35 PM, Jamal Hadi Salim wrote:
> From: Jamal Hadi Salim <jhs@mojatatu.com>
>

An actual commit message would be good especially if it's a fix
for -net tree plus stable. Thanks.

> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
> ---
>   net/sched/cls_api.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
> index 2ee29a3..2b2a797 100644
> --- a/net/sched/cls_api.c
> +++ b/net/sched/cls_api.c
> @@ -345,7 +345,8 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
>   			if (err == 0) {
>   				struct tcf_proto *next = rtnl_dereference(tp->next);
>
> -				tfilter_notify(net, skb, n, tp, fh,
> +				tfilter_notify(net, skb, n, tp,
> +					       t->tcm_handle,
>   					       RTM_DELTFILTER, false);
>   				if (tcf_destroy(tp, false))
>   					RCU_INIT_POINTER(*back, next);
>
Jiri Pirko Oct. 24, 2016, 8:48 a.m. UTC | #2
Mon, Oct 24, 2016 at 12:30:44AM CEST, daniel@iogearbox.net wrote:
>On 10/23/2016 05:35 PM, Jamal Hadi Salim wrote:
>> From: Jamal Hadi Salim <jhs@mojatatu.com>
>> 
>
>An actual commit message would be good especially if it's a fix
>for -net tree plus stable. Thanks.

Also a "Fixes:" tag would be nice to have :)


>
>> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
>> ---
>>   net/sched/cls_api.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
>> index 2ee29a3..2b2a797 100644
>> --- a/net/sched/cls_api.c
>> +++ b/net/sched/cls_api.c
>> @@ -345,7 +345,8 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
>>   			if (err == 0) {
>>   				struct tcf_proto *next = rtnl_dereference(tp->next);
>> 
>> -				tfilter_notify(net, skb, n, tp, fh,
>> +				tfilter_notify(net, skb, n, tp,
>> +					       t->tcm_handle,
>>   					       RTM_DELTFILTER, false);
>>   				if (tcf_destroy(tp, false))
>>   					RCU_INIT_POINTER(*back, next);
>> 
>
Daniel Borkmann Oct. 24, 2016, 9:03 a.m. UTC | #3
On 10/24/2016 10:48 AM, Jiri Pirko wrote:
> Mon, Oct 24, 2016 at 12:30:44AM CEST, daniel@iogearbox.net wrote:
>> On 10/23/2016 05:35 PM, Jamal Hadi Salim wrote:
>>> From: Jamal Hadi Salim <jhs@mojatatu.com>
>>
>> An actual commit message would be good especially if it's a fix
>> for -net tree plus stable. Thanks.
>
> Also a "Fixes:" tag would be nice to have :)

This kernel address leakage dates back to history tree:

Fixes: 4e54c4816bfe ("[NET]: Add tc extensions infrastructure.")

>>> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
>>> ---
>>>    net/sched/cls_api.c | 3 ++-
>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
>>> index 2ee29a3..2b2a797 100644
>>> --- a/net/sched/cls_api.c
>>> +++ b/net/sched/cls_api.c
>>> @@ -345,7 +345,8 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
>>>    			if (err == 0) {
>>>    				struct tcf_proto *next = rtnl_dereference(tp->next);
>>>
>>> -				tfilter_notify(net, skb, n, tp, fh,
>>> +				tfilter_notify(net, skb, n, tp,
>>> +					       t->tcm_handle,
>>>    					       RTM_DELTFILTER, false);
>>>    				if (tcf_destroy(tp, false))
>>>    					RCU_INIT_POINTER(*back, next);
>>>
>>
Jamal Hadi Salim Oct. 24, 2016, 11:28 a.m. UTC | #4
On 16-10-24 05:03 AM, Daniel Borkmann wrote:
> On 10/24/2016 10:48 AM, Jiri Pirko wrote:
>> Mon, Oct 24, 2016 at 12:30:44AM CEST, daniel@iogearbox.net wrote:
>>> On 10/23/2016 05:35 PM, Jamal Hadi Salim wrote:
>>>> From: Jamal Hadi Salim <jhs@mojatatu.com>
>>>
>>> An actual commit message would be good especially if it's a fix
>>> for -net tree plus stable. Thanks.
>>
>> Also a "Fixes:" tag would be nice to have :)
>
> This kernel address leakage dates back to history tree:
>
> Fixes: 4e54c4816bfe ("[NET]: Add tc extensions infrastructure.")

Was this from bitkeeper?
Unfortunately - I think this changed somewhere after inception of
tc, pre-git. But i cant find any way to trace that. So we could point a
finger and say this bug "has always been there from day one"
and we need a way to annotate that.

Also, please suggest a good commit message.
I could point to iproute2 patch or cutnpaste the novel i wrote
there.

cheers,
jamal
Daniel Borkmann Oct. 24, 2016, 11:34 a.m. UTC | #5
On 10/24/2016 01:28 PM, Jamal Hadi Salim wrote:
> On 16-10-24 05:03 AM, Daniel Borkmann wrote:
>> On 10/24/2016 10:48 AM, Jiri Pirko wrote:
>>> Mon, Oct 24, 2016 at 12:30:44AM CEST, daniel@iogearbox.net wrote:
>>>> On 10/23/2016 05:35 PM, Jamal Hadi Salim wrote:
>>>>> From: Jamal Hadi Salim <jhs@mojatatu.com>
>>>>
>>>> An actual commit message would be good especially if it's a fix
>>>> for -net tree plus stable. Thanks.
>>>
>>> Also a "Fixes:" tag would be nice to have :)
>>
>> This kernel address leakage dates back to history tree:
>>
>> Fixes: 4e54c4816bfe ("[NET]: Add tc extensions infrastructure.")
>
> Was this from bitkeeper?
> Unfortunately - I think this changed somewhere after inception of
> tc, pre-git. But i cant find any way to trace that. So we could point a
> finger and say this bug "has always been there from day one"
> and we need a way to annotate that.

I guess saying that is okay too, commit is from history museum here:
https://git.kernel.org/cgit/linux/kernel/git/history/history.git/

> Also, please suggest a good commit message.
> I could point to iproute2 patch or cutnpaste the novel i wrote
> there.

I did the analysis already in: http://patchwork.ozlabs.org/patch/683863/
I don't mind if you want to take most parts of it.
Cong Wang Oct. 24, 2016, 5:02 p.m. UTC | #6
On Sun, Oct 23, 2016 at 8:35 AM, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
> From: Jamal Hadi Salim <jhs@mojatatu.com>
>
> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>

We definitely need a serious changelog, even just a short one. ;)

Other than this,

Acked-by: Cong Wang <xiyou.wangcong@gmail.com>

We can address the "if (RTM_DELTFILTER != event)" in a separated patch
if needed.

Thanks.
diff mbox

Patch

diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 2ee29a3..2b2a797 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -345,7 +345,8 @@  static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
 			if (err == 0) {
 				struct tcf_proto *next = rtnl_dereference(tp->next);
 
-				tfilter_notify(net, skb, n, tp, fh,
+				tfilter_notify(net, skb, n, tp,
+					       t->tcm_handle,
 					       RTM_DELTFILTER, false);
 				if (tcf_destroy(tp, false))
 					RCU_INIT_POINTER(*back, next);