Commit 320fae9e authored by Jakub Kicinski's avatar Jakub Kicinski

Merge branch '200GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue

Tony Nguyen says:

====================
Intel Wired LAN Driver Updates 2023-12-26 (idpf)

This series contains updates to idpf driver only.

Alexander resolves issues in singleq mode to prevent corrupted frames
and leaking skbs.

Pavan prevents extra padding on RSS struct causing load failure due to
unexpected size.

* '200GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
  idpf: avoid compiler introduced padding in virtchnl2_rss_key struct
  idpf: fix corrupted frames and skb leaks in singleq mode
====================

Link: https://lore.kernel.org/r/20231226174125.2632875-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 2311e06b a613fb46
...@@ -1044,7 +1044,6 @@ static int idpf_rx_singleq_clean(struct idpf_queue *rx_q, int budget) ...@@ -1044,7 +1044,6 @@ static int idpf_rx_singleq_clean(struct idpf_queue *rx_q, int budget)
} }
idpf_rx_sync_for_cpu(rx_buf, fields.size); idpf_rx_sync_for_cpu(rx_buf, fields.size);
skb = rx_q->skb;
if (skb) if (skb)
idpf_rx_add_frag(rx_buf, skb, fields.size); idpf_rx_add_frag(rx_buf, skb, fields.size);
else else
......
...@@ -396,7 +396,7 @@ static void idpf_rx_desc_rel(struct idpf_queue *rxq, bool bufq, s32 q_model) ...@@ -396,7 +396,7 @@ static void idpf_rx_desc_rel(struct idpf_queue *rxq, bool bufq, s32 q_model)
if (!rxq) if (!rxq)
return; return;
if (!bufq && idpf_is_queue_model_split(q_model) && rxq->skb) { if (rxq->skb) {
dev_kfree_skb_any(rxq->skb); dev_kfree_skb_any(rxq->skb);
rxq->skb = NULL; rxq->skb = NULL;
} }
......
...@@ -1104,9 +1104,9 @@ struct virtchnl2_rss_key { ...@@ -1104,9 +1104,9 @@ struct virtchnl2_rss_key {
__le32 vport_id; __le32 vport_id;
__le16 key_len; __le16 key_len;
u8 pad; u8 pad;
__DECLARE_FLEX_ARRAY(u8, key_flex); u8 key_flex[];
}; } __packed;
VIRTCHNL2_CHECK_STRUCT_LEN(8, virtchnl2_rss_key); VIRTCHNL2_CHECK_STRUCT_LEN(7, virtchnl2_rss_key);
/** /**
* struct virtchnl2_queue_chunk - chunk of contiguous queues * struct virtchnl2_queue_chunk - chunk of contiguous queues
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment