[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1452651098.1223.41.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Tue, 12 Jan 2016 18:11:38 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
Cc: Daniel Borkmann <daniel@...earbox.net>,
Rabin Vincent <rabin@....in>, davem@...emloft.net,
netdev@...r.kernel.org, ast@...nel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCHv2] net: bpf: reject invalid shifts
On Tue, 2016-01-12 at 15:47 -0800, Alexei Starovoitov wrote:
> I would agree if those loaded programs would do something sensible,
> but they're broken. As shown arm and arm64 would execute them
> differently without JIT, because HW treats such shifts differently.
> I also checked that libpcap is sane and doesn't generate broken shifts.
> imo we're not breaking backward compatiblity here.
>
How did you prove a particular code path was even taken in a BPF
program ? This is new to me.
As I said, it is possible some guys never noticed their BPF program were
'broken' because this invalid shift was hidden in a dead code part.
So a program might appear as 'weak' when in fact its behavior was
absolutely correct.
You assume everybody uses libpcap, this is wrong, and for very obvious
reasons.
Try to encode the QUEUE, RXHASH, or CPU instructions in libpcap, for a
start.
Powered by blists - more mailing lists