[Cake] [PATCH 1/4] sched: Avoid dereferencing skb pointer after child enqueue

Cong Wang xiyou.wangcong at gmail.com
Thu Jan 10 13:16:01 EST 2019


On Wed, Jan 9, 2019 at 12:14 AM Toke Høiland-Jørgensen <toke at toke.dk> wrote:
>
> Cong Wang <xiyou.wangcong at gmail.com> writes:
>
> > On Mon, Jan 7, 2019 at 11:50 AM Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> >> @@ -1254,7 +1256,7 @@ static int qfq_enqueue(struct sk_buff *skb, struct Qdisc *sch,
> >>         if (cl->qdisc->q.qlen != 1) {
> >>                 if (unlikely(skb == cl->qdisc->ops->peek(cl->qdisc)) &&
> >
> >
> > Isn't this comparison problematic too? While you are on it...
>
> Well, I was only looking at safety issues, and since it's not
> dereferencing the pointer, that's not really an issue here. The check is
> just going to always fail if GSO splitting is enabled. Which I'm not
> actually sure is an error in this case?

Yeah, I knew you only fix defereferences. The comparison is used
to check if the enqueued packet is the head of the queue, which
is incorrect to me for GSO splitting case. Don't worry, we can fix it later.


More information about the Cake mailing list