[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171223035140.mcv34grauxixvxsi@ast-mbp>
Date: Fri, 22 Dec 2017 19:51:42 -0800
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Ben Hutchings <ben@...adent.org.uk>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
stable@...r.kernel.org, netdev@...r.kernel.org,
Edward Cree <ecree@...arflare.com>,
Jann Horn <jannh@...gle.com>,
Alexei Starovoitov <ast@...nel.org>
Subject: Re: [PATCH 4.9] bpf/verifier: Fix states_equal() comparison of
pointer and UNKNOWN
On Sat, Dec 23, 2017 at 02:26:17AM +0000, Ben Hutchings wrote:
> An UNKNOWN_VALUE is not supposed to be derived from a pointer, unless
> pointer leaks are allowed. Therefore, states_equal() must not treat
> a state with a pointer in a register as "equal" to a state with an
> UNKNOWN_VALUE in that register.
>
> This was fixed differently upstream, but the code around here was
> largely rewritten in 4.14 by commit f1174f77b50c "bpf/verifier: rework
> value tracking". The bug can be detected by the bpf/verifier sub-test
> "pointer/scalar confusion in state equality check (way 1)".
>
> Signed-off-by: Ben Hutchings <ben@...adent.org.uk>
> Cc: Edward Cree <ecree@...arflare.com>
> Cc: Jann Horn <jannh@...gle.com>
> Cc: Alexei Starovoitov <ast@...nel.org>
Acked-by: Alexei Starovoitov <ast@...nel.org>
Powered by blists - more mailing lists