|
Thomas Bogendoerfer |
726a95 |
From: Yajun Deng <yajun.deng@linux.dev>
|
|
Thomas Bogendoerfer |
726a95 |
Date: Thu, 5 Aug 2021 19:54:34 +0800
|
|
Thomas Bogendoerfer |
726a95 |
Subject: netdevice: add the case if dev is NULL
|
|
Thomas Bogendoerfer |
726a95 |
Patch-mainline: v5.15-rc1
|
|
Thomas Bogendoerfer |
726a95 |
Git-commit: b37a466837393af72fe8bcb8f1436410f3f173f3
|
|
Thomas Bogendoerfer |
726a95 |
References: bsc#1208628
|
|
Thomas Bogendoerfer |
726a95 |
|
|
Thomas Bogendoerfer |
726a95 |
Add the case if dev is NULL in dev_{put, hold}, so the caller doesn't
|
|
Thomas Bogendoerfer |
726a95 |
need to care whether dev is NULL or not.
|
|
Thomas Bogendoerfer |
726a95 |
|
|
Thomas Bogendoerfer |
726a95 |
Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
|
|
Thomas Bogendoerfer |
726a95 |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Thomas Bogendoerfer |
726a95 |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
726a95 |
---
|
|
Thomas Bogendoerfer |
726a95 |
include/linux/netdevice.h | 12 ++++++++----
|
|
Thomas Bogendoerfer |
726a95 |
1 file changed, 8 insertions(+), 4 deletions(-)
|
|
Thomas Bogendoerfer |
726a95 |
|
|
Thomas Bogendoerfer |
726a95 |
--- a/include/linux/netdevice.h
|
|
Thomas Bogendoerfer |
726a95 |
+++ b/include/linux/netdevice.h
|
|
Thomas Bogendoerfer |
726a95 |
@@ -4130,11 +4130,13 @@ void netdev_run_todo(void);
|
|
Thomas Bogendoerfer |
726a95 |
*/
|
|
Thomas Bogendoerfer |
726a95 |
static inline void dev_put(struct net_device *dev)
|
|
Thomas Bogendoerfer |
726a95 |
{
|
|
Thomas Bogendoerfer |
726a95 |
+ if (dev) {
|
|
Thomas Bogendoerfer |
726a95 |
#ifdef CONFIG_PCPU_DEV_REFCNT
|
|
Thomas Bogendoerfer |
726a95 |
- this_cpu_dec(*dev->pcpu_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
+ this_cpu_dec(*dev->pcpu_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
#else
|
|
Thomas Bogendoerfer |
726a95 |
- refcount_dec(&dev->dev_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
+ refcount_dec(&dev->dev_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
#endif
|
|
Thomas Bogendoerfer |
726a95 |
+ }
|
|
Thomas Bogendoerfer |
726a95 |
}
|
|
Thomas Bogendoerfer |
726a95 |
|
|
Thomas Bogendoerfer |
726a95 |
/**
|
|
Thomas Bogendoerfer |
726a95 |
@@ -4145,11 +4147,13 @@ static inline void dev_put(struct net_de
|
|
Thomas Bogendoerfer |
726a95 |
*/
|
|
Thomas Bogendoerfer |
726a95 |
static inline void dev_hold(struct net_device *dev)
|
|
Thomas Bogendoerfer |
726a95 |
{
|
|
Thomas Bogendoerfer |
726a95 |
+ if (dev) {
|
|
Thomas Bogendoerfer |
726a95 |
#ifdef CONFIG_PCPU_DEV_REFCNT
|
|
Thomas Bogendoerfer |
726a95 |
- this_cpu_inc(*dev->pcpu_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
+ this_cpu_inc(*dev->pcpu_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
#else
|
|
Thomas Bogendoerfer |
726a95 |
- refcount_inc(&dev->dev_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
+ refcount_inc(&dev->dev_refcnt);
|
|
Thomas Bogendoerfer |
726a95 |
#endif
|
|
Thomas Bogendoerfer |
726a95 |
+ }
|
|
Thomas Bogendoerfer |
726a95 |
}
|
|
Thomas Bogendoerfer |
726a95 |
|
|
Thomas Bogendoerfer |
726a95 |
/* Carrier loss detection, dial on demand. The functions netif_carrier_on
|