cls_flower.c (349bd87f6091ac68b8eab368ce30bcaf6d45c50e) cls_flower.c (1fde0ca3a0de7e9f917668941156959dd5e9108b)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * net/sched/cls_flower.c Flower classifier
4 *
5 * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
6 */
7
8#include <linux/kernel.h>

--- 2446 unchanged lines hidden (view full) ---

2455 if (flags & TCA_ACT_FLAGS_NO_RTNL)
2456 rtnl_lock();
2457 tcf_unbind_filter(tp, &fnew->res);
2458 if (flags & TCA_ACT_FLAGS_NO_RTNL)
2459 rtnl_unlock();
2460 }
2461
2462errout_idr:
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * net/sched/cls_flower.c Flower classifier
4 *
5 * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
6 */
7
8#include <linux/kernel.h>

--- 2446 unchanged lines hidden (view full) ---

2455 if (flags & TCA_ACT_FLAGS_NO_RTNL)
2456 rtnl_lock();
2457 tcf_unbind_filter(tp, &fnew->res);
2458 if (flags & TCA_ACT_FLAGS_NO_RTNL)
2459 rtnl_unlock();
2460 }
2461
2462errout_idr:
2463 if (!fold)
2463 if (!fold) {
2464 spin_lock(&tp->lock);
2464 idr_remove(&head->handle_idr, fnew->handle);
2465 idr_remove(&head->handle_idr, fnew->handle);
2466 spin_unlock(&tp->lock);
2467 }
2465 __fl_put(fnew);
2466errout_tb:
2467 kfree(tb);
2468errout_mask_alloc:
2469 tcf_queue_work(&mask->rwork, fl_uninit_mask_free_work);
2470errout_fold:
2471 if (fold)
2472 __fl_put(fold);

--- 1203 unchanged lines hidden ---
2468 __fl_put(fnew);
2469errout_tb:
2470 kfree(tb);
2471errout_mask_alloc:
2472 tcf_queue_work(&mask->rwork, fl_uninit_mask_free_work);
2473errout_fold:
2474 if (fold)
2475 __fl_put(fold);

--- 1203 unchanged lines hidden ---