On 25/11/2021 07:19, Tony Lu wrote: > When smc_close_final() returns error, the return code overwrites by > kernel_sock_shutdown() in smc_close_active(). The return code of > smc_close_final() is more important than kernel_sock_shutdown(), and it > will pass to userspace directly. > > Fix it by keeping both return codes, if smc_close_final() raises an > error, return it or kernel_sock_shutdown()'s. > > Link: https://lore.kernel.org/linux-s390/1f67548e-cbf6-0dce-82b5-10288a4583bd@xxxxxxxxxxxxx/ > Fixes: 606a63c9783a ("net/smc: Ensure the active closing peer first closes clcsock") > Suggested-by: Karsten Graul <kgraul@xxxxxxxxxxxxx> > Signed-off-by: Tony Lu <tonylu@xxxxxxxxxxxxxxxxx> > Reviewed-by: Wen Gu <guwen@xxxxxxxxxxxxxxxxx> > --- Acked-by: Karsten Graul <kgraul@xxxxxxxxxxxxx>