]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 May 2019 09:15:07 +0000 (11:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 May 2019 09:15:07 +0000 (11:15 +0200)
added patches:
fib_rules-fix-error-in-backport-of-e9919a24d302-fib_rules-return-0.patch

queue-4.9/fib_rules-fix-error-in-backport-of-e9919a24d302-fib_rules-return-0.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/fib_rules-fix-error-in-backport-of-e9919a24d302-fib_rules-return-0.patch b/queue-4.9/fib_rules-fix-error-in-backport-of-e9919a24d302-fib_rules-return-0.patch
new file mode 100644 (file)
index 0000000..b3ab071
--- /dev/null
@@ -0,0 +1,34 @@
+From b42f0ebbe4431ff7ce99c916555418f4a4c2be67 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Mon, 20 May 2019 11:07:29 +0200
+Subject: fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+When commit e9919a24d302 ("fib_rules: return 0 directly if an exactly
+same rule exists when NLM_F_EXCL not supplied") was backported to 4.9.y,
+it changed the logic a bit as err should have been reset before exiting
+the test, like it happens in the original logic.
+
+If this is not set, errors happen :(
+
+Reported-by: Nathan Chancellor <natechancellor@gmail.com>
+Reported-by: David Ahern <dsahern@gmail.com>
+Reported-by: Florian Westphal <fw@strlen.de>
+Cc: Hangbin Liu <liuhangbin@gmail.com>
+Cc: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/core/fib_rules.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/net/core/fib_rules.c
++++ b/net/core/fib_rules.c
+@@ -430,6 +430,7 @@ int fib_nl_newrule(struct sk_buff *skb,
+               goto errout_free;
+       if (rule_exists(ops, frh, tb, rule)) {
++              err = 0;
+               if (nlh->nlmsg_flags & NLM_F_EXCL)
+                       err = -EEXIST;
+               goto errout_free;
index 51e4167592fefb8bb3163a6c3d2b286510d64475..a21f977e54315dbd874bf2bfff760bda6659a52c 100644 (file)
@@ -35,3 +35,4 @@ crypto-gcm-fix-error-return-code-in-crypto_gcm_create_common.patch
 crypto-gcm-fix-incompatibility-between-gcm-and-gcm_base.patch
 crypto-salsa20-don-t-access-already-freed-walk.iv.patch
 crypto-arm-aes-neonbs-don-t-access-already-freed-walk.iv.patch
+fib_rules-fix-error-in-backport-of-e9919a24d302-fib_rules-return-0.patch