From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [52.28.52.200]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id C6F9B3B29E for ; Wed, 9 Jan 2019 03:14:43 -0500 (EST) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1547021652; bh=L48YS/WX6+nQXPT4ZB6WX69Ycx6ZLJUf27pKFtHoPCQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=llYp5xWSYaGopXpzu8bXvBwYO/8qfHWAiZx8c3qc2WU/dpT5FkNShZfaKsTwXEiyB Gx7jZxvE1BG/ODWZrsLaepTRrDsY20twzR9Uzgzfx8/SzB77SoITkJsUI6XdF4LetJ rnA9oryYPweLhAC/6uPYdoWdFVCiUGFYg7vhz9KAtfmc5wHtJce1ez0IUz7CjhHPdo pg9sNPmP2UWxuk+KB00+RyCGtiykFolFxMq1QEQ9rTCb38lzSSGN42oGfMoFiU9Ehm 4M9B3ZAe/9YwOMJJvDj7/v5bR+HK8MsJUizg1Y6194vIgRbRU5uDFvxdypKw2bZ5LE n2LU0v7HjpKnQ== To: Cong Wang Cc: Linux Kernel Network Developers , Cake List , Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= In-Reply-To: References: <20190107194733.31138-1-toke@toke.dk> <20190107194733.31138-2-toke@toke.dk> Date: Wed, 09 Jan 2019 09:14:10 +0100 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <871s5muu25.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Cake] [PATCH 1/4] sched: Avoid dereferencing skb pointer after child enqueue X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2019 08:14:43 -0000 Cong Wang writes: > On Mon, Jan 7, 2019 at 11:50 AM Toke H=C3=B8iland-J=C3=B8rgensen wrote: >> @@ -1254,7 +1256,7 @@ static int qfq_enqueue(struct sk_buff *skb, struct= Qdisc *sch, >> if (cl->qdisc->q.qlen !=3D 1) { >> if (unlikely(skb =3D=3D 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? -Toke