lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 13 Feb 2018 12:23:44 -0500 (EST)
From:   David Miller <davem@...emloft.net>
To:     jiri@...nulli.us
Cc:     netdev@...r.kernel.org, idosch@...lanox.com, mlxsw@...lanox.com
Subject: Re: [patch net] mlxsw: spectrum_router: Fix error path in
 mlxsw_sp_vr_create

From: Jiri Pirko <jiri@...nulli.us>
Date: Tue, 13 Feb 2018 11:22:42 +0100

> From: Jiri Pirko <jiri@...lanox.com>
> 
> Since mlxsw_sp_fib_create() and mlxsw_sp_mr_table_create()
> use ERR_PTR macro to propagate int err through return of a pointer,
> the return value is not NULL in case of failure. So if one
> of the calls fails, one of vr->fib4, vr->fib6 or vr->mr4_table
> is not NULL and mlxsw_sp_vr_is_used wrongly assumes
> that vr is in use which leads to crash like following one:
> 
> [ 1293.949291] BUG: unable to handle kernel NULL pointer dereference at 00000000000006c9
> [ 1293.952729] IP: mlxsw_sp_mr_table_flush+0x15/0x70 [mlxsw_spectrum]
> 
> Fix this by using local variables to hold the pointers and set vr->*
> only in case everything went fine.
> 
> Fixes: 76610ebbde18 ("mlxsw: spectrum_router: Refactor virtual router handling")
> Fixes: a3d9bc506d64 ("mlxsw: spectrum_router: Extend virtual routers with IPv6 support")
> Fixes: d42b0965b1d4 ("mlxsw: spectrum_router: Add multicast routes notification handling functionality")
> Signed-off-by: Jiri Pirko <jiri@...lanox.com>
> Reviewed-by: Ido Schimmel <idosch@...lanox.com>
> Signed-off-by: Jiri Pirko <jiri@...lanox.com>

Applied and queued up for -stable.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ