From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov via iovisor-dev Subject: Re: [PATCH net-next 2/4] bpf/verifier: remove varlen_map_value_access flag Date: Tue, 22 Aug 2017 08:17:27 -0700 Message-ID: <32c86ed1-c94e-ce9b-0639-17f597cd3d61@fb.com> References: <6174b732-0bf9-19a3-09c4-f6a62be24a0c@solarflare.com> Reply-To: Alexei Starovoitov Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iovisor-dev To: Edward Cree , , Alexei Starovoitov , Daniel Borkmann Return-path: In-Reply-To: <6174b732-0bf9-19a3-09c4-f6a62be24a0c-s/n/eUQHGBpZroRs9YW3xA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iovisor-dev-bounces-9jONkmmOlFHEE9lA1F8Ukti2O/JbrIOy@public.gmane.org Errors-To: iovisor-dev-bounces-9jONkmmOlFHEE9lA1F8Ukti2O/JbrIOy@public.gmane.org List-Id: netdev.vger.kernel.org On 8/22/17 6:26 AM, Edward Cree wrote: > The optimisation it does is broken when the 'new' register value has a > variable offset and the 'old' was constant. I broke it with my pointer > types unification (see Fixes tag below), before which the 'new' value > would have type PTR_TO_MAP_VALUE_ADJ and would thus not compare equal; > other changes in that patch mean that its original behaviour (ignore > min/max values) cannot be restored. > Tests on a sample set of cilium programs show no change in count of > processed instructions. > > Fixes: f1174f77b50c ("bpf/verifier: rework value tracking") > Signed-off-by: Edward Cree Acked-by: Alexei Starovoitov