net: fix skb leak in __skb_tstamp_tx()
[platform/kernel/linux-starfive.git] / net / core / devlink.c
index 89baa7c..2aa77d4 100644 (file)
@@ -1505,10 +1505,13 @@ static int devlink_nl_cmd_get_dumpit(struct sk_buff *msg,
                        continue;
                }
 
+               devl_lock(devlink);
                err = devlink_nl_fill(msg, devlink, DEVLINK_CMD_NEW,
                                      NETLINK_CB(cb->skb).portid,
                                      cb->nlh->nlmsg_seq, NLM_F_MULTI);
+               devl_unlock(devlink);
                devlink_put(devlink);
+
                if (err)
                        goto out;
                idx++;
@@ -11435,8 +11438,10 @@ void devl_region_destroy(struct devlink_region *region)
        devl_assert_locked(devlink);
 
        /* Free all snapshots of region */
+       mutex_lock(&region->snapshot_lock);
        list_for_each_entry_safe(snapshot, ts, &region->snapshot_list, list)
                devlink_region_snapshot_del(region, snapshot);
+       mutex_unlock(&region->snapshot_lock);
 
        list_del(&region->list);
        mutex_destroy(&region->snapshot_lock);