From: Amritha Nambiar <redacted>
Date: Wed, 27 Jun 2018 15:31:28 -0700
quoted hunk ↗ jump to hunk
@@ -1681,17 +1681,25 @@ static inline int sk_receive_skb(struct sock *sk, struct sk_buff *skb,
static inline void sk_tx_queue_set(struct sock *sk, int tx_queue)
{
+ /* sk_tx_queue_mapping accept only upto a 16-bit value */
+ if (WARN_ON_ONCE((unsigned short)tx_queue > USHRT_MAX))
+ return;
sk->sk_tx_queue_mapping = tx_queue;
}
+#define NO_QUEUE_MAPPING USHRT_MAX
I think you need to check ">= USHRT_MAX" since USHRT_MAX is how you
indicate no queue.