Fix crda rhbz 1422247
This commit is contained in:
parent
e6f3c5a5cc
commit
c73017eaa0
55
genetlink-fix-counting-regression-on-ctrl_dumpfamily.patch
Normal file
55
genetlink-fix-counting-regression-on-ctrl_dumpfamily.patch
Normal file
@ -0,0 +1,55 @@
|
||||
From: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
Date: 2017-03-22 15:08:33
|
||||
Subject: [PATCH 4.11] genetlink: fix counting regression on ctrl_dumpfamily()
|
||||
|
||||
Commit 2ae0f17df1cd ("genetlink: use idr to track families") replaced
|
||||
|
||||
if (++n < fams_to_skip)
|
||||
continue;
|
||||
into:
|
||||
|
||||
if (n++ < fams_to_skip)
|
||||
continue;
|
||||
|
||||
This subtle change cause that on retry ctrl_dumpfamily() call we omit
|
||||
one family that failed to do ctrl_fill_info() on previous call, because
|
||||
cb->args[0] = n number counts also family that failed to do
|
||||
ctrl_fill_info().
|
||||
|
||||
Patch fixes the problem and avoid confusion in the future just decrease
|
||||
n counter when ctrl_fill_info() fail.
|
||||
|
||||
User visible problem caused by this bug is failure to get access to
|
||||
some genetlink family i.e. nl80211. However problem is reproducible
|
||||
only if number of registered genetlink families is big enough to
|
||||
cause second call of ctrl_dumpfamily().
|
||||
|
||||
Cc: Xose Vazquez Perez <xose.vazquez@gmail.com>
|
||||
Cc: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
Cc: Johannes Berg <johannes@sipsolutions.net>
|
||||
Fixes: 2ae0f17df1cd ("genetlink: use idr to track families")
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
---
|
||||
Dave, please also target this for 4.10+ -stable.
|
||||
|
||||
net/netlink/genetlink.c | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
|
||||
index fb6e10f..92e0981 100644
|
||||
--- a/net/netlink/genetlink.c
|
||||
+++ b/net/netlink/genetlink.c
|
||||
@@ -783,8 +783,10 @@ static int ctrl_dumpfamily(struct sk_buff *skb, struct netlink_callback *cb)
|
||||
|
||||
if (ctrl_fill_info(rt, NETLINK_CB(cb->skb).portid,
|
||||
cb->nlh->nlmsg_seq, NLM_F_MULTI,
|
||||
- skb, CTRL_CMD_NEWFAMILY) < 0)
|
||||
+ skb, CTRL_CMD_NEWFAMILY) < 0) {
|
||||
+ n--;
|
||||
break;
|
||||
+ }
|
||||
}
|
||||
|
||||
cb->args[0] = n;
|
||||
--
|
||||
1.7.1
|
@ -605,6 +605,9 @@ Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch
|
||||
# grabbed from mailing list
|
||||
Patch667: v3-Revert-tty-serial-pl011-add-ttyAMA-for-matching-pl011-console.patch
|
||||
|
||||
# Fix crda rhbz 1422247
|
||||
Patch668: genetlink-fix-counting-regression-on-ctrl_dumpfamily.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
@ -2169,6 +2172,9 @@ fi
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Wed Mar 22 2017 Justin M. Forbes <jforbes@fedoraproject.org>
|
||||
- Fix crda (rhbz 1422247)
|
||||
|
||||
* Wed Mar 22 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.0-0.rc3.git1.1
|
||||
- Linux v4.11-rc3-35-g093b995
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user