[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180116102414.GG1422@alphalink.fr>
Date: Tue, 16 Jan 2018 11:24:14 +0100
From: Guillaume Nault <g.nault@...halink.fr>
To: Lorenzo Bianconi <lorenzo.bianconi@...hat.com>
Cc: "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
James Chapman <jchapman@...alix.com>
Subject: Re: [PATCH v2 net-next 1/5] l2tp: fix switch default error handling
in l2tp_nl_cmd_session_create()
On Mon, Jan 15, 2018 at 10:18:53PM +0100, Lorenzo Bianconi wrote:
> > On Sun, Jan 14, 2018 at 03:50:54PM +0100, Lorenzo Bianconi wrote:
> >> Although this issue is harmless since that code path is protected by the
> >> check on l2tp_nl_cmd_ops[]/l2tp_nl_cmd_ops[]->session_create(), fix error
> >> handling for L2TP_PWTYPE_IP/default case in l2tp_nl_cmd_session_create()
> >>
> >> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@...hat.com>
> >> ---
> >> net/l2tp/l2tp_netlink.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/net/l2tp/l2tp_netlink.c b/net/l2tp/l2tp_netlink.c
> >> index e1ca29f79821..48b5bf30ec50 100644
> >> --- a/net/l2tp/l2tp_netlink.c
> >> +++ b/net/l2tp/l2tp_netlink.c
> >> @@ -635,7 +635,7 @@ static int l2tp_nl_cmd_session_create(struct sk_buff *skb, struct genl_info *inf
> >> case L2TP_PWTYPE_IP:
> >> default:
> >> ret = -EPROTONOSUPPORT;
> >> - break;
> >> + goto out_tunnel;
> >> }
> >>
> > Not sure if this change is really worthwhile. As you noted, this is
> > unreachable code. And this switch should better be removed entirely:
> > it doesn't do anything for supported pseudo-wires.
> >
> > And if PWTYPE_ETH_VLAN were to be implemented, it should perform its
> > configuration consistency checking in its own PW specific code, not in
> > the genl handler.
> >
>
> Personally I would prefer to not remove some code that could be useful
> for a future implementation, but just fix it if it presents issues to
> address.
>
I don't think this code can be useful in the future, quite the other
way around. l2tp_nl_cmd_session_create() has to make sure that it can
safely call ->session_create(), nothing more. Removing this code would
force a new PW implementation to do its configuration checking at the
right place.
BTW, writing code speculatively is generally not a good idea. Such code
can't be tested, and the future tends to be quite different from what
was expeceted anyway.
Powered by blists - more mailing lists