netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
@ 2019-06-05  4:27 Hangbin Liu
  2019-06-05  5:44 ` Nathan Chancellor
  2019-06-06  0:55 ` David Miller
  0 siblings, 2 replies; 5+ messages in thread
From: Hangbin Liu @ 2019-06-05  4:27 UTC (permalink / raw)
  To: netdev
  Cc: Nathan Chancellor, Greg Kroah-Hartman, zenczykowski,
	Lorenzo Colitti, David Miller, David Ahern, Thomas Haller,
	Yaro Slav, Hangbin Liu

This reverts commit e9919a24d3022f72bcadc407e73a6ef17093a849.

Nathan reported the new behaviour breaks Android, as Android just add
new rules and delete old ones.

If we return 0 without adding dup rules, Android will remove the new
added rules and causing system to soft-reboot.

Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Fixes: e9919a24d302 ("fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 net/core/fib_rules.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index 43f0115cce9c..18f8dd8329ed 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -757,9 +757,9 @@ int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr *nlh,
 	if (err)
 		goto errout;
 
-	if (rule_exists(ops, frh, tb, rule)) {
-		if (nlh->nlmsg_flags & NLM_F_EXCL)
-			err = -EEXIST;
+	if ((nlh->nlmsg_flags & NLM_F_EXCL) &&
+	    rule_exists(ops, frh, tb, rule)) {
+		err = -EEXIST;
 		goto errout_free;
 	}
 
-- 
2.19.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
  2019-06-05  4:27 [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied" Hangbin Liu
@ 2019-06-05  5:44 ` Nathan Chancellor
  2019-06-06  0:55 ` David Miller
  1 sibling, 0 replies; 5+ messages in thread
From: Nathan Chancellor @ 2019-06-05  5:44 UTC (permalink / raw)
  To: Hangbin Liu
  Cc: netdev, Greg Kroah-Hartman, zenczykowski, Lorenzo Colitti,
	David Miller, David Ahern, Thomas Haller, Yaro Slav

On Wed, Jun 05, 2019 at 12:27:14PM +0800, Hangbin Liu wrote:
> This reverts commit e9919a24d3022f72bcadc407e73a6ef17093a849.
> 
> Nathan reported the new behaviour breaks Android, as Android just add
> new rules and delete old ones.
> 
> If we return 0 without adding dup rules, Android will remove the new
> added rules and causing system to soft-reboot.
> 
> Reported-by: Nathan Chancellor <natechancellor@gmail.com>
> Fixes: e9919a24d302 ("fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied")
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>

Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>

I verified a revert on my OP6 when I initially ran into this issue.

Thanks for this. I would recommend that Yaro and Maciej also be given
reported by credit as I am not the only one to bring this up :)

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
  2019-06-05  4:27 [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied" Hangbin Liu
  2019-06-05  5:44 ` Nathan Chancellor
@ 2019-06-06  0:55 ` David Miller
  2019-06-06  1:23   ` Nathan Chancellor
  1 sibling, 1 reply; 5+ messages in thread
From: David Miller @ 2019-06-06  0:55 UTC (permalink / raw)
  To: liuhangbin
  Cc: netdev, natechancellor, gregkh, zenczykowski, lorenzo, dsa,
	thaller, yaro330

From: Hangbin Liu <liuhangbin@gmail.com>
Date: Wed,  5 Jun 2019 12:27:14 +0800

> This reverts commit e9919a24d3022f72bcadc407e73a6ef17093a849.
> 
> Nathan reported the new behaviour breaks Android, as Android just add
> new rules and delete old ones.
> 
> If we return 0 without adding dup rules, Android will remove the new
> added rules and causing system to soft-reboot.
> 
> Reported-by: Nathan Chancellor <natechancellor@gmail.com>
> Fixes: e9919a24d302 ("fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied")
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>

Applied.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
  2019-06-06  0:55 ` David Miller
@ 2019-06-06  1:23   ` Nathan Chancellor
  2019-06-06  1:41     ` David Miller
  0 siblings, 1 reply; 5+ messages in thread
From: Nathan Chancellor @ 2019-06-06  1:23 UTC (permalink / raw)
  To: David Miller
  Cc: liuhangbin, netdev, gregkh, zenczykowski, lorenzo, dsa, thaller, yaro330

On Wed, Jun 05, 2019 at 05:55:26PM -0700, David Miller wrote:
> From: Hangbin Liu <liuhangbin@gmail.com>
> Date: Wed,  5 Jun 2019 12:27:14 +0800
> 
> > This reverts commit e9919a24d3022f72bcadc407e73a6ef17093a849.
> > 
> > Nathan reported the new behaviour breaks Android, as Android just add
> > new rules and delete old ones.
> > 
> > If we return 0 without adding dup rules, Android will remove the new
> > added rules and causing system to soft-reboot.
> > 
> > Reported-by: Nathan Chancellor <natechancellor@gmail.com>
> > Fixes: e9919a24d302 ("fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied")
> > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> 
> Applied.

Please ensure this gets queued up for stable, as that is where I noticed
the issue.

Thank you for applying it,
Nathan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
  2019-06-06  1:23   ` Nathan Chancellor
@ 2019-06-06  1:41     ` David Miller
  0 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2019-06-06  1:41 UTC (permalink / raw)
  To: natechancellor
  Cc: liuhangbin, netdev, gregkh, zenczykowski, lorenzo, dsa, thaller, yaro330

From: Nathan Chancellor <natechancellor@gmail.com>
Date: Wed, 5 Jun 2019 18:23:51 -0700

> On Wed, Jun 05, 2019 at 05:55:26PM -0700, David Miller wrote:
>> From: Hangbin Liu <liuhangbin@gmail.com>
>> Date: Wed,  5 Jun 2019 12:27:14 +0800
>> 
>> > This reverts commit e9919a24d3022f72bcadc407e73a6ef17093a849.
>> > 
>> > Nathan reported the new behaviour breaks Android, as Android just add
>> > new rules and delete old ones.
>> > 
>> > If we return 0 without adding dup rules, Android will remove the new
>> > added rules and causing system to soft-reboot.
>> > 
>> > Reported-by: Nathan Chancellor <natechancellor@gmail.com>
>> > Fixes: e9919a24d302 ("fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied")
>> > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
>> 
>> Applied.
> 
> Please ensure this gets queued up for stable, as that is where I noticed
> the issue.

It is queued up, thanks for asking.

I'll try to get this propagated as soon as possible.

Thanks again.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-06-06  1:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-05  4:27 [PATCH net] Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied" Hangbin Liu
2019-06-05  5:44 ` Nathan Chancellor
2019-06-06  0:55 ` David Miller
2019-06-06  1:23   ` Nathan Chancellor
2019-06-06  1:41     ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).