On Wed, Jan 09, 2008 at 01:36:21PM -0500, Jeff Layton wrote: > I don't see a good alternative though. We need to be able to drop the > and check the refcount in nlmsvc_unlink_block. That function is called > from lockd, and we can't have lockd call kthread_stop on itself. > > If you see a better way to do this, I'm certainly open to suggestions. > > I'll note that my first stab at fixing this problem was to change the > svc_wake_up() call in the rpc callback to a routine to wake up any > lockd on the box that happened to be up. That sidesteps this entire > problem of having to make sure lockd stays up. If we decided that was > the right approach we could dump the last patch in this series > altogether. > > That said there could be other use after free bugs lurking in the lockd > code so maybe keeping lockd up until nlm_blocked is empty is the right > thing to do.
What about just not exiting from lockd as long as nlm_blocked is not empty? lockd_down still simply calls kthread_stop, but lockd only honours it when nlm_blocked is empty? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/