From mboxrd@z Thu Jan 1 00:00:00 1970 From: Taehee Yoo Subject: [PATCH V3 bpf] xdp: add NULL pointer check in __xdp_return() Date: Thu, 26 Jul 2018 23:17:03 +0900 Message-ID: <20180726141703.6236-1-ap420073@gmail.com> Cc: netdev@vger.kernel.org, bjorn.topel@intel.com, brouer@redhat.com, kafai@fb.com, jakub.kicinski@netronome.com, Taehee Yoo To: daniel@iogearbox.net, ast@kernel.org Return-path: Received: from mail-pg1-f195.google.com ([209.85.215.195]:38329 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730184AbeGZPeS (ORCPT ); Thu, 26 Jul 2018 11:34:18 -0400 Received: by mail-pg1-f195.google.com with SMTP id k3-v6so1258339pgq.5 for ; Thu, 26 Jul 2018 07:17:14 -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") Acked-by: Martin KaFai Lau Signed-off-by: Taehee Yoo --- V3 : reduce code line V2 : add WARN_ON_ONCE when xa is NULL. net/core/xdp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/core/xdp.c b/net/core/xdp.c index 9d1f220..6771f18 100644 --- a/net/core/xdp.c +++ b/net/core/xdp.c @@ -345,7 +345,8 @@ 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 (!WARN_ON_ONCE(!xa)) + 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