diff mbox

nl80211: Reset split_start when netlink skb is exhausted

Message ID 1389880840-27863-1-git-send-email-pontus.fuchs@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Pontus Fuchs Jan. 16, 2014, 2 p.m. UTC
When the netlink skb is exhausted split_start is left set. In the
subsequent retry, with a larger buffer, the dump is continued from the
failing point instead of from the beginning.

This was causing my rt28xx based USB dongle to now show up when
running "iw list" with an old iw version without split dump support.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
---
 net/wireless/nl80211.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Johannes Berg Jan. 16, 2014, 2:04 p.m. UTC | #1
On Thu, 2014-01-16 at 15:00 +0100, Pontus Fuchs wrote:
> When the netlink skb is exhausted split_start is left set. In the
> subsequent retry, with a larger buffer, the dump is continued from the
> failing point instead of from the beginning.
> 
> This was causing my rt28xx based USB dongle to now show up when
> running "iw list" with an old iw version without split dump support.

Thanks, applied. I added Cc: stable and Fixes: tags as well as adding "!
state->split" to the conditions.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index d0afd82..c7ce4c7 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -1725,6 +1725,7 @@  static int nl80211_dump_wiphy(struct sk_buff *skb, struct netlink_callback *cb)
 				    !skb->len &&
 				    cb->min_dump_alloc < 4096) {
 					cb->min_dump_alloc = 4096;
+					state->split_start = 0;
 					rtnl_unlock();
 					return 1;
 				}