提交 ca0c52d1 编写于 作者: Y Yajun Deng 提交者: Yongqiang Liu

netdevice: add the case if dev is NULL

stable inclusion
from stable-v4.19.238
commit 574a12b4445076a04499962ce8b8ae15f75a7955
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I51YBN
CVE: CVE-2022-28356

-------------------------------------------------

commit b37a4668 upstream.

Add the case if dev is NULL in dev_{put, hold}, so the caller doesn't
need to care whether dev is NULL or not.
Signed-off-by: NYajun Deng <yajun.deng@linux.dev>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
Cc: Pavel Machek <pavel@denx.de>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NHuang Guobin <huangguobin4@huawei.com>
Reviewed-by: NWei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: NXiu Jianfeng <xiujianfeng@huawei.com>
Signed-off-by: NYongqiang Liu <liuyongqiang13@huawei.com>
上级 f63bcedd
...@@ -3790,7 +3790,8 @@ void netdev_run_todo(void); ...@@ -3790,7 +3790,8 @@ void netdev_run_todo(void);
*/ */
static inline void dev_put(struct net_device *dev) static inline void dev_put(struct net_device *dev)
{ {
this_cpu_dec(*dev->pcpu_refcnt); if (dev)
this_cpu_dec(*dev->pcpu_refcnt);
} }
/** /**
...@@ -3801,7 +3802,8 @@ static inline void dev_put(struct net_device *dev) ...@@ -3801,7 +3802,8 @@ static inline void dev_put(struct net_device *dev)
*/ */
static inline void dev_hold(struct net_device *dev) static inline void dev_hold(struct net_device *dev)
{ {
this_cpu_inc(*dev->pcpu_refcnt); if (dev)
this_cpu_inc(*dev->pcpu_refcnt);
} }
/* Carrier loss detection, dial on demand. The functions netif_carrier_on /* Carrier loss detection, dial on demand. The functions netif_carrier_on
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册