Message ID | 20220408094745.3129754-2-b.spranger@linutronix.de (mailing list archive) |
---|---|
State | Accepted |
Commit | e8a64bbaaad1f6548cec5508297bc6d45e8ab69e |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net/sched: taprio: Check if sk_flags are valid | expand |
diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c index 1ce6416b4810..a871b3ef4bca 100644 --- a/net/sched/sch_taprio.c +++ b/net/sched/sch_taprio.c @@ -419,7 +419,8 @@ static int taprio_enqueue_one(struct sk_buff *skb, struct Qdisc *sch, { struct taprio_sched *q = qdisc_priv(sch); - if (skb->sk && sock_flag(skb->sk, SOCK_TXTIME)) { + /* sk_flags are only safe to use on full sockets. */ + if (skb->sk && sk_fullsock(skb->sk) && sock_flag(skb->sk, SOCK_TXTIME)) { if (!is_valid_interval(skb, sch)) return qdisc_drop(skb, sch, to_free); } else if (TXTIME_ASSIST_IS_ENABLED(q->flags)) {