Message ID | 12f60e385584c52c22863701c0185e40ab08a7a7.1603207948.git.gnault@redhat.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() | expand |
Context | Check | Description |
---|---|---|
jkicinski/cover_letter | success | Link |
jkicinski/fixes_present | success | Link |
jkicinski/patch_count | success | Link |
jkicinski/tree_selection | success | Clearly marked for net |
jkicinski/subject_prefix | success | Link |
jkicinski/source_inline | success | Was 0 now: 0 |
jkicinski/verify_signedoff | success | Link |
jkicinski/module_param | success | Was 0 now: 0 |
jkicinski/build_32bit | success | Errors and warnings before: 9 this patch: 8 |
jkicinski/kdoc | success | Errors and warnings before: 0 this patch: 0 |
jkicinski/verify_fixes | success | Link |
jkicinski/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 8 lines checked |
jkicinski/build_allmodconfig_warn | success | Errors and warnings before: 9 this patch: 8 |
jkicinski/header_inline | success | Link |
jkicinski/stable | success | Stable not CCed |
On Tue, Oct 20, 2020 at 8:34 AM Guillaume Nault <gnault@redhat.com> wrote: > > We need to jump to the "err_out_locked" label when > tcf_gate_get_entries() fails. Otherwise, tc_setup_flow_action() exits > with ->tcfa_lock still held. > > Fixes: d29bdd69ecdd ("net: schedule: add action gate offloading") > Signed-off-by: Guillaume Nault <gnault@redhat.com> Looks like the err_out label can be just removed after this patch? If any compiler complains, you have to fix it in v2, otherwise can be in a separate patch. Other than this, Acked-by: Cong Wang <xiyou.wangcong@gmail.com> Thanks!
On Tue, 20 Oct 2020 17:37:22 -0700 Cong Wang wrote: > On Tue, Oct 20, 2020 at 8:34 AM Guillaume Nault <gnault@redhat.com> wrote: > > > > We need to jump to the "err_out_locked" label when > > tcf_gate_get_entries() fails. Otherwise, tc_setup_flow_action() exits > > with ->tcfa_lock still held. > > > > Fixes: d29bdd69ecdd ("net: schedule: add action gate offloading") > > Signed-off-by: Guillaume Nault <gnault@redhat.com> > > Looks like the err_out label can be just removed after this patch? > If any compiler complains, you have to fix it in v2, otherwise can be in a > separate patch. > > Other than this, > > Acked-by: Cong Wang <xiyou.wangcong@gmail.com> Applied, thank you!
On Tue, Oct 20, 2020 at 05:37:22PM -0700, Cong Wang wrote: > On Tue, Oct 20, 2020 at 8:34 AM Guillaume Nault <gnault@redhat.com> wrote: > > > > We need to jump to the "err_out_locked" label when > > tcf_gate_get_entries() fails. Otherwise, tc_setup_flow_action() exits > > with ->tcfa_lock still held. > > > > Fixes: d29bdd69ecdd ("net: schedule: add action gate offloading") > > Signed-off-by: Guillaume Nault <gnault@redhat.com> > > Looks like the err_out label can be just removed after this patch? That'd require reworking the error path, as err_out is used there. I don't feel that doing so would improve readability much. > If any compiler complains, you have to fix it in v2, otherwise can be in a > separate patch. > > Other than this, > > Acked-by: Cong Wang <xiyou.wangcong@gmail.com> Thanks.
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 41a55c6cbeb8..faeabff283a2 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -3712,7 +3712,7 @@ int tc_setup_flow_action(struct flow_action *flow_action, entry->gate.num_entries = tcf_gate_num_entries(act); err = tcf_gate_get_entries(entry, act); if (err) - goto err_out; + goto err_out_locked; } else { err = -EOPNOTSUPP; goto err_out_locked;
We need to jump to the "err_out_locked" label when tcf_gate_get_entries() fails. Otherwise, tc_setup_flow_action() exits with ->tcfa_lock still held. Fixes: d29bdd69ecdd ("net: schedule: add action gate offloading") Signed-off-by: Guillaume Nault <gnault@redhat.com> --- net/sched/cls_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)