* [PATCH V2] mac80211: fix paged defragmentation
@ 2010-04-30 22:57 Abhijeet Kolekar
2010-04-30 23:49 ` Ben Gamari
0 siblings, 1 reply; 3+ messages in thread
From: Abhijeet Kolekar @ 2010-04-30 22:57 UTC (permalink / raw)
To: linux-wireless; +Cc: yi.zhu, Abhijeet Kolekar
Paged RX skb patch broke the defragmentation. We need to read hdr again
after linearization.
It fixes following bug
http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2194
Signed-off-by: Zhu, Yi <yi.zhu@intel.com>
Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
---
v2: Zhu yi suggested following fix.
net/mac80211/rx.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 72efbd8..e7217e2 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1255,6 +1255,7 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx)
if (skb_linearize(rx->skb))
return RX_DROP_UNUSABLE;
+ hdr = (struct ieee80211_hdr *)rx->skb->data;
seq = (sc & IEEE80211_SCTL_SEQ) >> 4;
if (frag == 0) {
--
1.6.3.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH V2] mac80211: fix paged defragmentation
2010-04-30 22:57 [PATCH V2] mac80211: fix paged defragmentation Abhijeet Kolekar
@ 2010-04-30 23:49 ` Ben Gamari
2010-05-03 18:02 ` John W. Linville
0 siblings, 1 reply; 3+ messages in thread
From: Ben Gamari @ 2010-04-30 23:49 UTC (permalink / raw)
To: Abhijeet Kolekar, linux-wireless; +Cc: yi.zhu, Abhijeet Kolekar
On Fri, 30 Apr 2010 15:57:59 -0700, Abhijeet Kolekar <abhijeet.kolekar@intel.com> wrote:
>
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index 72efbd8..e7217e2 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -1255,6 +1255,7 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx)
> if (skb_linearize(rx->skb))
> return RX_DROP_UNUSABLE;
>
> + hdr = (struct ieee80211_hdr *)rx->skb->data;
> seq = (sc & IEEE80211_SCTL_SEQ) >> 4;
>
It seems to me that this might deserve a comment describing exactly why
hdr needs to be set twice in one function. To the uninformed outsider
the code simply seems redundant. It's unclear semantics like this that
could cause nasty issues when someone goes back for housecleaning. Just
a thought.
- Ben
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH V2] mac80211: fix paged defragmentation
2010-04-30 23:49 ` Ben Gamari
@ 2010-05-03 18:02 ` John W. Linville
0 siblings, 0 replies; 3+ messages in thread
From: John W. Linville @ 2010-05-03 18:02 UTC (permalink / raw)
To: Ben Gamari; +Cc: Abhijeet Kolekar, linux-wireless, yi.zhu
On Fri, Apr 30, 2010 at 07:49:52PM -0400, Ben Gamari wrote:
> On Fri, 30 Apr 2010 15:57:59 -0700, Abhijeet Kolekar <abhijeet.kolekar@intel.com> wrote:
> >
> > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> > index 72efbd8..e7217e2 100644
> > --- a/net/mac80211/rx.c
> > +++ b/net/mac80211/rx.c
> > @@ -1255,6 +1255,7 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx)
> > if (skb_linearize(rx->skb))
> > return RX_DROP_UNUSABLE;
> >
> > + hdr = (struct ieee80211_hdr *)rx->skb->data;
> > seq = (sc & IEEE80211_SCTL_SEQ) >> 4;
> >
> It seems to me that this might deserve a comment describing exactly why
> hdr needs to be set twice in one function. To the uninformed outsider
> the code simply seems redundant. It's unclear semantics like this that
> could cause nasty issues when someone goes back for housecleaning. Just
> a thought.
Not only that, but is there something we need to do to make sure the
compiler doesn't think it can optimize away the second assignment
of hdr?
John
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-05-03 18:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-30 22:57 [PATCH V2] mac80211: fix paged defragmentation Abhijeet Kolekar
2010-04-30 23:49 ` Ben Gamari
2010-05-03 18:02 ` John W. Linville
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).