RE: [PATCH] hv_sock: Fix data loss upon socket close
From: Sunil Muthuswamy <hidden>
Date: 2019-05-14 16:33:36
Also in:
lkml, netdev
From: Sunil Muthuswamy <hidden>
Date: 2019-05-14 16:33:36
Also in:
lkml, netdev
-----Original Message----- From: linux-hyperv-owner@vger.kernel.org <redacted> On Behalf Of David Miller Sent: Thursday, May 9, 2019 1:58 PM To: Sunil Muthuswamy <redacted> Cc: KY Srinivasan <kys@microsoft.com>; Haiyang Zhang <haiyangz@microsoft.com>; Stephen Hemminger [off-list ref]; sashal@kernel.org; Dexuan Cui [off-list ref]; Michael Kelley [off-list ref]; netdev@vger.kernel.org; linux-hyperv@vger.kernel.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH] hv_sock: Fix data loss upon socket close From: Sunil Muthuswamy <redacted> Date: Wed, 8 May 2019 23:10:35 +0000quoted
+static inline void hvs_shutdown_lock_held(struct hvsock *hvs, int mode)Please do not use the inline keyword in foo.c files, let the compiler decide.
Thanks, will fix in the next version.
Also, longer term thing, I notice that vsock_remove_socket() is very inefficient locking-wise. It takes the table lock to do the placement test, and takes it again to do the removal. Might even be racy.
Agreed. The check & remove should be done as an atomic operation. This can be taken up as a separate patch.