All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cfg80211: fix regulatory NULL dereference
@ 2011-11-21  9:44 Johannes Berg
  2011-11-21  9:45 ` Johannes Berg
  2011-11-21 19:39 ` Luis R. Rodriguez
  0 siblings, 2 replies; 3+ messages in thread
From: Johannes Berg @ 2011-11-21  9:44 UTC (permalink / raw)
  To: John Linville; +Cc: Luis R. Rodriguez, linux-wireless

From: Johannes Berg <johannes.berg@intel.com>

By the time userspace returns with a response to
the regulatory domain request, the wiphy causing
the request might have gone away. If this is so,
reject the update but mark the request as having
been processed anyway.

Cc: Luis R. Rodriguez <lrodriguez@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 net/wireless/reg.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/net/wireless/reg.c	2011-11-10 09:27:32.000000000 +0100
+++ b/net/wireless/reg.c	2011-11-21 10:41:57.000000000 +0100
@@ -2037,6 +2037,10 @@ static int __set_regdom(const struct iee
 	}
 
 	request_wiphy = wiphy_idx_to_wiphy(last_request->wiphy_idx);
+	if (!request_wiphy) {
+		reg_set_request_processed();
+		return -ENODEV;
+	}
 
 	if (!last_request->intersect) {
 		int r;



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] cfg80211: fix regulatory NULL dereference
  2011-11-21  9:44 [PATCH] cfg80211: fix regulatory NULL dereference Johannes Berg
@ 2011-11-21  9:45 ` Johannes Berg
  2011-11-21 19:39 ` Luis R. Rodriguez
  1 sibling, 0 replies; 3+ messages in thread
From: Johannes Berg @ 2011-11-21  9:45 UTC (permalink / raw)
  To: John Linville; +Cc: Luis R. Rodriguez, linux-wireless

On Mon, 2011-11-21 at 10:44 +0100, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@intel.com>
> 
> By the time userspace returns with a response to
> the regulatory domain request, the wiphy causing
> the request might have gone away. If this is so,
> reject the update but mark the request as having
> been processed anyway.
> 
> Cc: Luis R. Rodriguez <lrodriguez@qca.qualcomm.com>
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Oops, Cc: stable@vger.kernel.org

johannes


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] cfg80211: fix regulatory NULL dereference
  2011-11-21  9:44 [PATCH] cfg80211: fix regulatory NULL dereference Johannes Berg
  2011-11-21  9:45 ` Johannes Berg
@ 2011-11-21 19:39 ` Luis R. Rodriguez
  1 sibling, 0 replies; 3+ messages in thread
From: Luis R. Rodriguez @ 2011-11-21 19:39 UTC (permalink / raw)
  To: Johannes Berg; +Cc: John Linville, linux-wireless

On Mon, Nov 21, 2011 at 1:44 AM, Johannes Berg
<johannes@sipsolutions.net> wrote:
> From: Johannes Berg <johannes.berg@intel.com>
>
> By the time userspace returns with a response to
> the regulatory domain request, the wiphy causing
> the request might have gone away. If this is so,
> reject the update but mark the request as having
> been processed anyway.
>
> Cc: Luis R. Rodriguez <lrodriguez@qca.qualcomm.com>
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> ---
>  net/wireless/reg.c |    4 ++++
>  1 file changed, 4 insertions(+)
>
> --- a/net/wireless/reg.c        2011-11-10 09:27:32.000000000 +0100
> +++ b/net/wireless/reg.c        2011-11-21 10:41:57.000000000 +0100
> @@ -2037,6 +2037,10 @@ static int __set_regdom(const struct iee
>        }
>
>        request_wiphy = wiphy_idx_to_wiphy(last_request->wiphy_idx);
> +       if (!request_wiphy) {
> +               reg_set_request_processed();
> +               return -ENODEV;
> +       }
>
>        if (!last_request->intersect) {
>                int r;

last_request is still populated with the driver request info though,
so you'd have to reset_regdomains() too to clear last_request as if
we're starting all over again. If you don't get to it, I'm working on
two fixes that cover this.

  Luis

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-11-21 19:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-21  9:44 [PATCH] cfg80211: fix regulatory NULL dereference Johannes Berg
2011-11-21  9:45 ` Johannes Berg
2011-11-21 19:39 ` Luis R. Rodriguez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.