From mboxrd@z Thu Jan 1 00:00:00 1970 From: Taehee Yoo Subject: [PATCH V2 bpf] xdp: add NULL pointer check in __xdp_return() Date: Thu, 26 Jul 2018 00:09:50 +0900 Message-ID: <20180725150950.23298-1-ap420073@gmail.com> Cc: brouer@redhat.com, netdev@vger.kernel.org, Taehee Yoo To: daniel@iogearbox.net, ast@kernel.org, bjorn.topel@intel.com Return-path: Received: from mail-pg1-f195.google.com ([209.85.215.195]:40165 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728360AbeGYQWG (ORCPT ); Wed, 25 Jul 2018 12:22:06 -0400 Received: by mail-pg1-f195.google.com with SMTP id x5-v6so5523928pgp.7 for ; Wed, 25 Jul 2018 08:10:01 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: rhashtable_lookup() can return NULL. so that NULL pointer check routine should be added. Fixes: 02b55e5657c3 ("xdp: add MEM_TYPE_ZERO_COPY") Signed-off-by: Taehee Yoo --- V2 : add WARN_ON_ONCE when xa is NULL. net/core/xdp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/core/xdp.c b/net/core/xdp.c index 9d1f220..786fdbe 100644 --- a/net/core/xdp.c +++ b/net/core/xdp.c @@ -345,7 +345,10 @@ static void __xdp_return(void *data, struct xdp_mem_info *mem, bool napi_direct, rcu_read_lock(); /* mem->id is valid, checked in xdp_rxq_info_reg_mem_model() */ xa = rhashtable_lookup(mem_id_ht, &mem->id, mem_id_rht_params); - xa->zc_alloc->free(xa->zc_alloc, handle); + if (!xa) + WARN_ON_ONCE(1); + else + xa->zc_alloc->free(xa->zc_alloc, handle); rcu_read_unlock(); default: /* Not possible, checked in xdp_rxq_info_reg_mem_model() */ -- 2.9.3