Subject: Re: [PATCH] nl80211: fix attrbuf access race by allocating a separate one

From: Sergei Shtylyov <[email-masked]>
Date: Wed, 19 Jun 2013 17:44:35 +0400

Hello.

On 19-06-2013 12:23, Johannes Berg wrote:

> From: Johannes Berg <[email-masked]>

> Since my commit 3713b4e364, nl80211_dump_wiphy() uses the global

    Please also specify that commit's summary line in parens.

> nl80211_fam.attrbuf for parsing the incoming data. This wouldn't
> be a problem if it only did so on the first dump iteration which
> is locked against other commands in generic netlink, but due to
> space constraints in cb->args (the needed state doesn't fit) I
> decided to always parse the original message. That's racy though
> since nl80211_fam.attrbuf could be used by some other parsing in
> generic netlink concurrently.

> For now, fix this by allocating a separate parse buffer (it's a
> bit too big for the stack, currently 1448 bytes on 64-bit). For
> -next, I'll change the code to parse into the global buffer in
> the first round only and then allocate a smaller buffer to keep
> the state in cb->args.

> Reported-by: Linus Torvalds <[email-masked]>
> Signed-off-by: Johannes Berg <[email-masked]>

WBR, Sergei