From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov Subject: Re: [RFC bpf-next 2/4] bpf: return EOPNOTSUPP when map lookup isn't supported Date: Wed, 19 Sep 2018 08:14:24 -0700 Message-ID: <20180919151422.tysdcku2hxaq37xw@ast-mbp> References: <20180919075143.9308-1-bhole_prashant_q7@lab.ntt.co.jp> <20180919075143.9308-3-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 , Quentin Monnet , "David S . Miller" , netdev@vger.kernel.org To: Prashant Bhole Return-path: Received: from mail-pg1-f194.google.com ([209.85.215.194]:42924 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731665AbeISUwv (ORCPT ); Wed, 19 Sep 2018 16:52:51 -0400 Received: by mail-pg1-f194.google.com with SMTP id y4-v6so2898837pgp.9 for ; Wed, 19 Sep 2018 08:14:28 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180919075143.9308-3-bhole_prashant_q7@lab.ntt.co.jp> Sender: netdev-owner@vger.kernel.org List-ID: On Wed, Sep 19, 2018 at 04:51:41PM +0900, Prashant Bhole wrote: > Return ERR_PTR(-EOPNOTSUPP) from map_lookup_elem() methods of below > map types: > - BPF_MAP_TYPE_PROG_ARRAY > - BPF_MAP_TYPE_STACK_TRACE > - BPF_MAP_TYPE_XSKMAP > - BPF_MAP_TYPE_SOCKMAP/BPF_MAP_TYPE_SOCKHASH > > Signed-off-by: Prashant Bhole > --- > kernel/bpf/arraymap.c | 2 +- > kernel/bpf/sockmap.c | 2 +- > kernel/bpf/stackmap.c | 2 +- > kernel/bpf/xskmap.c | 2 +- > 4 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c > index dded84cbe814..24583da9ffd1 100644 > --- a/kernel/bpf/arraymap.c > +++ b/kernel/bpf/arraymap.c > @@ -449,7 +449,7 @@ static void fd_array_map_free(struct bpf_map *map) > > static void *fd_array_map_lookup_elem(struct bpf_map *map, void *key) > { > - return NULL; > + return ERR_PTR(-EOPNOTSUPP); > } conceptually the set looks good to me. Please add a test to test_verifier.c to make sure that these lookup helpers cannot be called from BPF program. Otherwise this diff may cause crashes.