Re: [PATCH net] net/smc: fix cleanup for linkgroup setup failures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Karsten Graul <kgraul@xxxxxxxxxxxxx>
Date: Tue, 25 Feb 2020 16:34:36 +0100

> From: Ursula Braun <ubraun@xxxxxxxxxxxxx>
> 
> If an SMC connection to a certain peer is setup the first time,
> a new linkgroup is created. In case of setup failures, such a
> linkgroup is unusable and should disappear. As a first step the
> linkgroup is removed from the linkgroup list in smc_lgr_forget().
> 
> There are 2 problems:
> smc_listen_decline() might be called before linkgroup creation
> resulting in a crash due to calling smc_lgr_forget() with
> parameter NULL.
> If a setup failure occurs after linkgroup creation, the connection
> is never unregistered from the linkgroup, preventing linkgroup
> freeing.
> 
> This patch introduces an enhanced smc_lgr_cleanup_early() function
> which
> * contains a linkgroup check for early smc_listen_decline()
>   invocations
> * invokes smc_conn_free() to guarantee unregistering of the
>   connection.
> * schedules fast linkgroup removal of the unusable linkgroup
> 
> And the unused function smcd_conn_free() is removed from smc_core.h.
> 
> Fixes: 3b2dec2603d5b ("net/smc: restructure client and server code in af_smc")
> Fixes: 2a0674fffb6bc ("net/smc: improve abnormal termination of link groups")
> Signed-off-by: Ursula Braun <ubraun@xxxxxxxxxxxxx>
> Signed-off-by: Karsten Graul <kgraul@xxxxxxxxxxxxx>

Applied and queued up for -stable, thanks.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux