mirror of https://gitee.com/openkylin/linux.git
caif: fix a potential NULL dereference
Commit bd30ce4bc0
(caif: Use RCU instead of spin-lock in caif_dev.c)
added a potential NULL dereference in case alloc_percpu() fails.
caif_device_alloc() can also use GFP_KERNEL instead of GFP_ATOMIC.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Sjur Brændeland <sjur.brandeland@stericsson.com>
Acked-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d5ccd49660
commit
4fb66b8210
|
@ -93,10 +93,14 @@ static struct caif_device_entry *caif_device_alloc(struct net_device *dev)
|
|||
caifdevs = caif_device_list(dev_net(dev));
|
||||
BUG_ON(!caifdevs);
|
||||
|
||||
caifd = kzalloc(sizeof(*caifd), GFP_ATOMIC);
|
||||
caifd = kzalloc(sizeof(*caifd), GFP_KERNEL);
|
||||
if (!caifd)
|
||||
return NULL;
|
||||
caifd->pcpu_refcnt = alloc_percpu(int);
|
||||
if (!caifd->pcpu_refcnt) {
|
||||
kfree(caifd);
|
||||
return NULL;
|
||||
}
|
||||
caifd->netdev = dev;
|
||||
dev_hold(dev);
|
||||
return caifd;
|
||||
|
|
Loading…
Reference in New Issue