From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov Subject: Re: [PATCH bpf-next 0/6] Error handling when map lookup isn't supported Date: Tue, 9 Oct 2018 21:55:28 -0700 Message-ID: <20181010045526.zdwc2awhcflpdqfr@ast-mbp.dhcp.thefacebook.com> References: <20181009010454.6652-1-bhole_prashant_q7@lab.ntt.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Alexei Starovoitov , Daniel Borkmann , Jakub Kicinski , "David S . Miller" , Quentin Monnet , netdev@vger.kernel.org To: Prashant Bhole Return-path: Received: from mail-pl1-f196.google.com ([209.85.214.196]:44538 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725813AbeJJMPv (ORCPT ); Wed, 10 Oct 2018 08:15:51 -0400 Received: by mail-pl1-f196.google.com with SMTP id p25-v6so1889931pli.11 for ; Tue, 09 Oct 2018 21:55:31 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20181009010454.6652-1-bhole_prashant_q7@lab.ntt.co.jp> Sender: netdev-owner@vger.kernel.org List-ID: On Tue, Oct 09, 2018 at 10:04:48AM +0900, Prashant Bhole wrote: > Currently when map a lookup fails, user space API can not make any > distinction whether given key was not found or lookup is not supported > by particular map. > > In this series we modify return value of maps which do not support > lookup. Lookup on such map implementation will return -EOPNOTSUPP. > bpf() syscall with BPF_MAP_LOOKUP_ELEM command will set EOPNOTSUPP > errno. We also handle this error in bpftool to print appropriate > message. > > Patch 1: adds handling of BPF_MAP_LOOKUP ELEM command of bpf syscall > such that errno will set to EOPNOTSUPP when map doesn't support lookup > > Patch 2: Modifies the return value of map_lookup_elem() to EOPNOTSUPP > for maps which do not support lookup > > Patch 3: Splits do_dump() in bpftool/map.c. Element printing code is > moved out into new function dump_map_elem(). This was done in order to > reduce deep indentation and accomodate further changes. > > Patch 4: Changes in bpftool to print strerror() message when lookup > error is occured. This will result in appropriate message like > "Operation not supported" when map doesn't support lookup. > > Patch 5: test_verifier: change fixup map naming convention as > suggested by Alexei > > Patch 6: Added verifier tests to check whether verifier rejects call > to bpf_map_lookup_elem from bpf program. For all map types those > do not support map lookup. Applied, Thanks