On Thu, 2014-01-16 at 14:50 +0100, Pontus Fuchs wrote: > On 2014-01-16 14:41, Johannes Berg wrote: > > On Thu, 2014-01-16 at 14:34 +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. > > > > Hmm. Maybe it should be like this instead? > > > > johannes > > > > diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c > > index 138dc3b..2e08af5 100644 > > --- a/net/wireless/nl80211.c > > +++ b/net/wireless/nl80211.c > > @@ -1680,6 +1680,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; > > } > > Will that not cause problem if split scan is in use and one of the split > chunks needs to be resent due to EMSGSIZE? That's not supposed to happen, and the "!skb->len" check should catch it. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html