All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen Gang <gang.chen.5i5j@gmail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "John W. Linville" <linville@tuxdriver.com>,
	rkuo <rkuo@codeaurora.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	David Miller <davem@davemloft.net>,
	linux-wireless@vger.kernel.org, netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH] net: mac80211: tx.c: be sure of 'sdata->vif.type' must be NL80211_IFTYPE_AP when be in NL80211_IFTYPE_AP case
Date: Sat, 30 Nov 2013 19:59:02 +0800	[thread overview]
Message-ID: <5299D306.7070701@gmail.com> (raw)
In-Reply-To: <1385739487.8656.1.camel@jlt4.sipsolutions.net>

On 11/29/2013 11:38 PM, Johannes Berg wrote:
> 
>> +++ b/net/mac80211/tx.c
>> @@ -1814,8 +1814,9 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
>>  			break;
>>  		/* fall through */
>>  	case NL80211_IFTYPE_AP:
>> -		if (sdata->vif.type == NL80211_IFTYPE_AP)
>> -			chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
>> +		if (sdata->vif.type != NL80211_IFTYPE_AP)
>> +			goto fail_rcu;
>> +		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
> 
> This change is completely wrong.
> 

Oh, it is.

Hmm... for me, this work flow still can be implemented with a little
clearer way (at least it will avoid related warning):

-------------------------diff begin------------------------------

diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index c558b24..7076128 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1810,14 +1810,14 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
 		if (!chanctx_conf)
 			goto fail_rcu;
 		band = chanctx_conf->def.chan->band;
-		if (sta)
-			break;
-		/* fall through */
+		if (!sta)
+			goto try_next;
+		break;
 	case NL80211_IFTYPE_AP:
-		if (sdata->vif.type == NL80211_IFTYPE_AP)
-			chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
+		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
 		if (!chanctx_conf)
 			goto fail_rcu;
+try_next:
 		fc |= cpu_to_le16(IEEE80211_FCTL_FROMDS);
 		/* DA BSSID SA */
 		memcpy(hdr.addr1, skb->data, ETH_ALEN);



-------------------------diff end--------------------------------


Thanks.
-- 
Chen Gang

  reply	other threads:[~2013-11-30 11:58 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-19  4:57 [PATCH] arch: hexagon: Kconfig: add HAVE_DMA_ATTR in Kconfig and remove "linux/dma-mapping.h" from "asm/dma-mapping.h" Chen Gang
2013-11-25  1:19 ` rkuo
2013-11-25  2:39   ` [PATCH 0/2] arch: hexagon: include: asm: add prefix "vm_" for all enum members in "hexagon_vm.h" Chen Gang
2013-11-25  2:40     ` [PATCH 1/2] " Chen Gang
2013-11-25  2:41       ` [PATCH 2/2] arch: hexagon: include: asm: use 'affinity' instead of 'locdis' for __vmintop_affinity() " Chen Gang
2013-11-28  8:51         ` [PATCH v2] arch: hexagon: include: asm: add prefix "hvm[ci]_" for all enum members " Chen Gang
2013-12-06 18:22           ` rkuo
2013-11-26  4:36       ` [PATCH 1/2] arch: hexagon: include: asm: add prefix "vm_" " Chen Gang
2013-11-27  2:29         ` [PATCH] drivers: scsi: scsi_lib.c: add prefix "SCSILIB_" to macro "SP" Chen Gang
2013-12-01 16:17           ` Bart Van Assche
2013-12-02  0:34             ` Chen Gang
2013-12-02  0:49               ` James Bottomley
2013-12-02 10:14                 ` Chen Gang
2013-12-02 21:32                   ` rkuo
2013-12-03 11:42                     ` Chen Gang
2013-12-04  2:42                     ` [PATCH v2] drivers: scsi: scsi_lib.c: use SG_POOL instead of SP Chen Gang
2013-11-27  3:01         ` [PATCH] drivers: staging: ft1000: ft1000-usb: initialize 'status' with STATUS_SUCCESS in request_code_segment() Chen Gang
2013-11-27  9:18           ` Josh Triplett
2013-11-27  9:27             ` Chen Gang
2013-12-04  7:31               ` Chen Gang
2013-11-27  3:17         ` [PATCH] drivers: staging: media: go7007: go7007-usb.c use pr_*() instead of dev_*() before 'go' initialized in go7007_usb_probe() Chen Gang
2013-11-27  3:21           ` Joe Perches
2013-11-27  3:40             ` Chen Gang
2013-11-27  3:48               ` [PATCH v2] " Chen Gang
2013-11-27  4:03                 ` Greg KH
2013-11-27  4:24                   ` Chen Gang
2013-11-27 10:43                     ` Dan Carpenter
2013-11-28  1:47                       ` Chen Gang
2013-11-27  3:40         ` [PATCH] drivers: staging: ft1000: ft1000-usb: ft1000_debug.c: check return value of get_user() in ft1000_ioctl() Chen Gang
2013-11-27  4:53         ` [PATCH] net: mac80211: tx.c: be sure of 'sdata->vif.type' must be NL80211_IFTYPE_AP when be in NL80211_IFTYPE_AP case Chen Gang
2013-11-29 15:38           ` Johannes Berg
2013-11-30 11:59             ` Chen Gang [this message]
2013-11-30 12:53               ` Johannes Berg
2013-11-30 13:50                 ` Chen Gang
2013-11-30 13:50                   ` Chen Gang
2013-11-30 14:02                   ` Chen Gang
2013-11-30 20:08                     ` Johannes Berg
2013-11-30 20:39                       ` Joe Perches
2013-11-30 23:48                         ` Chen Gang
2013-11-30 23:48                           ` Chen Gang
2013-11-30 23:59                           ` Chen Gang
2013-11-30 23:59                             ` Chen Gang
2013-12-01  9:37                           ` Johannes Berg
2013-12-01 11:50                             ` Chen Gang
2013-12-01 11:50                               ` Chen Gang
2013-12-01  9:35                         ` Johannes Berg
2013-12-01 22:38                           ` Joe Perches
2013-12-02  0:45                             ` Chen Gang
2013-12-02  0:45                               ` Chen Gang
2013-12-02 14:48                             ` Johannes Berg
2013-12-04  2:12                               ` Chen Gang
2013-12-04  8:04                                 ` Johannes Berg
2013-12-04  8:04                                   ` Johannes Berg
2013-12-04  8:41                                   ` Chen Gang
2013-12-04  8:49                                     ` Johannes Berg
2013-12-04  9:00                                       ` Chen Gang
2013-11-27  5:28         ` [PATCH] arch: hexagon: include: uapi: asm: setup.h add swith macro __KERNEL__ Chen Gang
2013-12-06 18:21           ` rkuo
2013-11-26  4:07   ` [PATCH] arch: hexagon: include: asm: add generic macro 'mmiowb' in "io.h" Chen Gang
2013-11-26  4:09     ` [PATCH] arch: hexagon: include: asm: Kbuild: add generic "serial.h" in Kbuild Chen Gang
2013-12-06 18:20       ` rkuo
2013-12-06 18:19     ` [PATCH] arch: hexagon: include: asm: add generic macro 'mmiowb' in "io.h" rkuo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5299D306.7070701@gmail.com \
    --to=gang.chen.5i5j@gmail.com \
    --cc=davem@davemloft.net \
    --cc=johannes@sipsolutions.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    --cc=rkuo@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.