Skip to content

Commit

Permalink
mac80211: fix endian error
Browse files Browse the repository at this point in the history
I forgot to convert the radiotap length to
CPU endian, which sparse found thankfully.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Jan 8, 2010
1 parent d790744 commit b49bb57
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/mac80211/iface.c
Original file line number Diff line number Diff line change
Expand Up @@ -675,10 +675,10 @@ static u16 ieee80211_monitor_select_queue(struct net_device *dev,
return 0;

if (skb->len < 4 ||
skb->len < rtap->it_len + 2 /* frame control */)
skb->len < le16_to_cpu(rtap->it_len) + 2 /* frame control */)
return 0; /* doesn't matter, frame will be dropped */

hdr = (void *)((u8 *)skb->data + rtap->it_len);
hdr = (void *)((u8 *)skb->data + le16_to_cpu(rtap->it_len));

if (!ieee80211_is_data(hdr->frame_control)) {
skb->priority = 7;
Expand Down

0 comments on commit b49bb57

Please sign in to comment.