From: Alok Tiwari Date: Tue, 17 Jan 2023 15:45:49 +0000 (-0800) Subject: netfilter: nf_tables: NULL pointer dereference in nf_tables_updobj() X-Git-Tag: v6.3-rc1~162^2~22^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dac7f50a45216d652887fb92d6cd3b7ca7f006ea;p=thirdparty%2Fkernel%2Flinux.git netfilter: nf_tables: NULL pointer dereference in nf_tables_updobj() static analyzer detect null pointer dereference case for 'type' function __nft_obj_type_get() can return NULL value which require to handle if type is NULL pointer return -ENOENT. This is a theoretical issue, since an existing object has a type, but better add this failsafe check. Signed-off-by: Alok Tiwari Signed-off-by: Pablo Neira Ayuso --- diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 974b95dece1db..2abf473c8f672 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -7023,6 +7023,9 @@ static int nf_tables_newobj(struct sk_buff *skb, const struct nfnl_info *info, return -EOPNOTSUPP; type = __nft_obj_type_get(objtype); + if (WARN_ON_ONCE(!type)) + return -ENOENT; + nft_ctx_init(&ctx, net, skb, info->nlh, family, table, NULL, nla); return nf_tables_updobj(&ctx, type, nla[NFTA_OBJ_DATA], obj);