> -----Original Message----- > From: Olaf Hering [mailto:o...@aepfle.de] > Sent: Monday, September 21, 2015 3:18 AM > To: KY Srinivasan <k...@microsoft.com>; Greg KH > <gre...@linuxfoundation.org> > Cc: linux-kernel@vger.kernel.org; de...@linuxdriverproject.org; > a...@canonical.com; vkuzn...@redhat.com; jasow...@redhat.com > Subject: Re: [PATCH 4/5] hv: kvp: use wrappers to propaigate state > > On Sun, Sep 20, Greg KH wrote: > > > On Tue, Sep 15, 2015 at 05:37:53PM -0700, K. Y. Srinivasan wrote: > > > @@ -122,8 +125,8 @@ static void kvp_timeout_func(struct work_struct > *dummy) > > > > + if (kvp_get_state() > HVUTIL_READY) > > > + kvp_set_state(HVUTIL_READY); > > > And what if the state changed the line after this? Oops, your code is > > hosed. See, you need a lock, do this correctly. > > KY, can this happen?
No - the state has to be > HVUTIL_READY. Also, if the timeout fires, it wins since other contexts will attempt to first cancel the timeout before proceeding further. K. Y > > Olaf N�����r��y����b�X��ǧv�^�){.n�+����{����zX����ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?�����&�)ߢf��^jǫy�m��@A�a��� 0��h���i