Wed, Oct 11, 2017 at 06:34:51PM CEST, xiyou.wangc...@gmail.com wrote: >On Tue, Oct 10, 2017 at 2:19 PM, Jiri Pirko <j...@resnulli.us> wrote: >> Tue, Oct 10, 2017 at 07:44:53PM CEST, xiyou.wangc...@gmail.com wrote: >>>On Tue, Oct 10, 2017 at 12:30 AM, Jiri Pirko <j...@resnulli.us> wrote: >>>> -static int tcf_mirred_device(const struct tc_action *a, struct net *net, >>>> - struct net_device **mirred_dev) >>>> +static struct net_device *tcf_mirred_get_dev(const struct tc_action *a) >>>> { >>>> - int ifindex = tcf_mirred_ifindex(a); >>>> + struct tcf_mirred *m = to_mirred(a); >>>> >>>> - *mirred_dev = __dev_get_by_index(net, ifindex); >>>> - if (!*mirred_dev) >>>> - return -EINVAL; >>>> - return 0; >>>> + return __dev_get_by_index(m->net, m->tcfm_ifindex); >>> >>>Hmm, why not just return m->tcfm_dev? >> >> I just follow the existing code. The change you suggest should be a >> separate follow-up patch. > >Why?
I try to do small contained changes per patch. The resulting code is doing the same thing as the original, therefore reducing possible bug appearance. > >Your goal is "make tc_action_ops->get_dev return dev and avoid passing net", >using m->tcfm_dev is simpler and could save you from adding a net pointer >to struct tcf_mirred too.