mac802154: check on len instead mac_len
This patch change the length check to len instead of mac_len for checking if the frame control field is available to dereference. We need to change it because I saw issues with af_packet raw sockets and the mrf24j40 which calls this functionality. The raw socket functionality doesn't set the mac_len but resets the skb_mac_header to skb->data which is still correct. The issue occur at mrf24j40 only, because the driver need to evaluate the fc fields. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
committed by
Marcel Holtmann
parent
b40988c438
commit
5f2ebb3b59
@@ -248,7 +248,7 @@ struct ieee802154_ops {
|
|||||||
static inline __le16 ieee802154_get_fc_from_skb(const struct sk_buff *skb)
|
static inline __le16 ieee802154_get_fc_from_skb(const struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
/* return some invalid fc on failure */
|
/* return some invalid fc on failure */
|
||||||
if (unlikely(skb->mac_len < 2)) {
|
if (unlikely(skb->len < 2)) {
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
return cpu_to_le16(0);
|
return cpu_to_le16(0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user