[FS#3459] 802.11s mesh kernel trace at net/core/flow_dissector.c:958 __skb_flow_dissect+0x2c0/0x149c

OpenWrt Bugs openwrt-bugs at lists.openwrt.org
Fri May 21 10:35:44 PDT 2021


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#3459 - 802.11s mesh kernel trace at net/core/flow_dissector.c:958 __skb_flow_dissect+0x2c0/0x149c
User who did this - John T (jonozzz)

----------
>From the author:

Most likely because ath10k driver (presumably the one that is doing
mesh) is using dev_alloc_skb:

$ grep -ri dev_alloc_skb drivers/net/wireless/ath/ath10k
drivers/net/wireless/ath/ath10k/htc.c:  skb =
dev_alloc_skb(ATH10K_HTC_CONTROL_BUFFER_SIZE);
drivers/net/wireless/ath/ath10k/htc.c:  bundle_skb =
dev_alloc_skb(bundles_left);
drivers/net/wireless/ath/ath10k/htc.c:                  bundle_skb =
dev_alloc_skb(bundles_left);
drivers/net/wireless/ath/ath10k/htc.c:  skb = dev_alloc_skb(size +
sizeof(struct ath10k_htc_hdr));
drivers/net/wireless/ath/ath10k/sdio.c: pkt->skb = dev_alloc_skb(full_len);
drivers/net/wireless/ath/ath10k/sdio.c: skb = dev_alloc_skb(sizeof(*regs));
drivers/net/wireless/ath/ath10k/htt_rx.c:              skb =
dev_alloc_skb(HTT_RX_BUF_SIZE + HTT_RX_DESC_ALIGN);
drivers/net/wireless/ath/ath10k/snoc.c: skb = dev_alloc_skb(pipe->buf_sz);
drivers/net/wireless/ath/ath10k/pci.c:  skb = dev_alloc_skb(pipe->buf_sz);
drivers/net/wireless/ath/ath10k/usb.c:          urb_context->skb =
dev_alloc_skb(ATH10K_USB_RX_BUFFER_SIZE);

dev_alloc_skb doesn't properly set skb's net device (and net namespace):

static inline struct sk_buff *netdev_alloc_skb(struct net_device *dev,
                                              unsigned int length)
...

/* legacy helper around netdev_alloc_skb() */
static inline struct sk_buff *dev_alloc_skb(unsigned int length)
{
        return netdev_alloc_skb(NULL, length);
}

And the flow dissector expects this net device to find the associated
net namespace from the skb.
There shouldn't really be any issues unless you want to use the BPF
flow dissector and it's safe to ignore this warning.

If you'd like to properly fix it, you have to replace these
dev_alloc_skb calls with netdev_alloc_skb+proper net_device.
----------

More information can be found at the following URL:
https://bugs.openwrt.org/index.php?do=details&task_id=3459#comment9706

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.



More information about the openwrt-bugs mailing list