net: hns3: change GFP flag during lock period
authorYufeng Mo <moyufeng@huawei.com>
Mon, 29 Jul 2019 02:53:25 +0000 (10:53 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Jul 2019 15:23:40 +0000 (08:23 -0700)
When allocating memory, the GFP_KERNEL cannot be used during the
spin_lock period. This is because it may cause scheduling when holding
spin_lock. This patch changes GFP flag to GFP_ATOMIC in this case.

Fixes: dd74f815dd41 ("net: hns3: Add support for rule add/delete for flow director")
Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: lipeng 00277521 <lipeng321@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 3c64d70df4d46801934a0056f3efda4868f61043..14199c455ddcfe15caa42ace2125a2a23bb98a0c 100644 (file)
@@ -5796,7 +5796,7 @@ static int hclge_add_fd_entry_by_arfs(struct hnae3_handle *handle, u16 queue_id,
                        return -ENOSPC;
                }
 
-               rule = kzalloc(sizeof(*rule), GFP_KERNEL);
+               rule = kzalloc(sizeof(*rule), GFP_ATOMIC);
                if (!rule) {
                        spin_unlock_bh(&hdev->fd_rule_lock);