From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Pirko Subject: Re: [PATCH net] mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG Date: Sun, 27 May 2018 14:26:57 +0200 Message-ID: <20180527122656.GA2225@nanopsycho.orion> References: <20180527064841.32199-1-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: netdev@vger.kernel.org, davem@davemloft.net, jiri@mellanox.com, petrm@mellanox.com, mlxsw@mellanox.com To: Ido Schimmel Return-path: Received: from mail-wr0-f195.google.com ([209.85.128.195]:45650 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936362AbeE0M1S (ORCPT ); Sun, 27 May 2018 08:27:18 -0400 Received: by mail-wr0-f195.google.com with SMTP id w3-v6so16037879wrl.12 for ; Sun, 27 May 2018 05:27:17 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180527064841.32199-1-idosch@mellanox.com> Sender: netdev-owner@vger.kernel.org List-ID: Sun, May 27, 2018 at 08:48:41AM CEST, idosch@mellanox.com wrote: >From: Petr Machata > >VLAN 1 is internally used for untagged traffic. Prevent creation of >explicit netdevice for that VLAN, because that currently isn't supported >and leads to the NULL pointer dereference cited below. > >Fix by preventing creation of VLAN devices with VID of 1 over mlxsw >devices or LAG devices that involve mlxsw devices. > >[ 327.175816] ================================================================================ >[ 327.184544] UBSAN: Undefined behaviour in drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c:200:12 >[ 327.193667] member access within null pointer of type 'const struct mlxsw_sp_fid' >[ 327.201226] CPU: 0 PID: 8983 Comm: ip Not tainted 4.17.0-rc4-petrm_net_ip6gre_headroom-custom-140 #11 >[ 327.210496] Hardware name: Mellanox Technologies Ltd. "MSN2410-CB2F"/"SA000874", BIOS 4.6.5 03/08/2016 >[ 327.219872] Call Trace: >[ 327.222384] dump_stack+0xc3/0x12b >[ 327.234007] ubsan_epilogue+0x9/0x49 >[ 327.237638] ubsan_type_mismatch_common+0x1f9/0x2d0 >[ 327.255769] __ubsan_handle_type_mismatch+0x90/0xa7 >[ 327.264716] mlxsw_sp_fid_type+0x35/0x50 [mlxsw_spectrum] >[ 327.270255] mlxsw_sp_port_vlan_router_leave+0x46/0xc0 [mlxsw_spectrum] >[ 327.277019] mlxsw_sp_inetaddr_port_vlan_event+0xe1/0x340 [mlxsw_spectrum] >[ 327.315031] mlxsw_sp_netdevice_vrf_event+0xa8/0x100 [mlxsw_spectrum] >[ 327.321626] mlxsw_sp_netdevice_event+0x276/0x430 [mlxsw_spectrum] >[ 327.367863] notifier_call_chain+0x4c/0x150 >[ 327.372128] __netdev_upper_dev_link+0x1b3/0x260 >[ 327.399450] vrf_add_slave+0xce/0x170 [vrf] >[ 327.403703] do_setlink+0x658/0x1d70 >[ 327.508998] rtnl_newlink+0x908/0xf20 >[ 327.559128] rtnetlink_rcv_msg+0x50c/0x720 >[ 327.571720] netlink_rcv_skb+0x16a/0x1f0 >[ 327.583450] netlink_unicast+0x2ca/0x3e0 >[ 327.599305] netlink_sendmsg+0x3e2/0x7f0 >[ 327.616655] sock_sendmsg+0x76/0xc0 >[ 327.620207] ___sys_sendmsg+0x494/0x5d0 >[ 327.666117] __sys_sendmsg+0xc2/0x130 >[ 327.690953] do_syscall_64+0x66/0x370 >[ 327.694677] entry_SYSCALL_64_after_hwframe+0x49/0xbe >[ 327.699782] RIP: 0033:0x7f4c2f3f8037 >[ 327.703393] RSP: 002b:00007ffe8c389708 EFLAGS: 00000246 ORIG_RAX: 000000000000002e >[ 327.711035] RAX: ffffffffffffffda RBX: 000000005b03f53e RCX: 00007f4c2f3f8037 >[ 327.718229] RDX: 0000000000000000 RSI: 00007ffe8c389760 RDI: 0000000000000003 >[ 327.725431] RBP: 00007ffe8c389760 R08: 0000000000000000 R09: 00007f4c2f443630 >[ 327.732632] R10: 00000000000005eb R11: 0000000000000246 R12: 0000000000000000 >[ 327.739833] R13: 00000000006774e0 R14: 00007ffe8c3897e8 R15: 0000000000000000 >[ 327.747096] ================================================================================ > >Fixes: 9589a7b5d7d9 ("mlxsw: spectrum: Handle VLAN devices linking / unlinking") >Suggested-by: Ido Schimmel >Signed-off-by: Petr Machata >Signed-off-by: Ido Schimmel Acked-by: Jiri Pirko