Hi Gilbert,

Thanks for submitting this bug report. I have searched through our
changes and upstream and found 3 fixes for "nfs_localio: protect race
between nfs_uuid_put() and nfs_close_local_fh()" which is introduced in
6.14.0-32-32. I will try to build a new kernel with these patches on top
and see it that fixes the issue.


commit 4ec752ce6debd5a0e7e0febf6bcf780ccda6ab5e
Author: Trond Myklebust <[email protected]>
Date:   Tue Jul 15 11:29:51 2025 -0700

    NFS/localio: nfs_uuid_put() fix the wake up after unlinking the file

    Use store_release_wake_up() instead of wake_up_var_locked(), because the
    waiter cannot retake the nfs_uuid->lock.

    Acked-by: Mike Snitzer <[email protected]>
    Tested-by: Mike Snitzer <[email protected]>
    Suggested-by: NeilBrown <[email protected]>
    Link: 
https://lore.kernel.org/all/[email protected]/
    Fixes: 21fb44034695 ("nfs_localio: protect race between nfs_uuid_put() and 
nfs_close_local_fh()")
    Signed-off-by: Trond Myklebust <[email protected]>

commit fdd015de767977f21892329af5e12276eb80375f
Author: Trond Myklebust <[email protected]>
Date:   Tue Jul 15 12:49:00 2025 -0700

    NFS/localio: nfs_uuid_put() fix races with nfs_open/close_local_fh()

    In order for the wait in nfs_uuid_put() to be safe, it is necessary to
    ensure that nfs_uuid_add_file() doesn't add a new entry once the
    nfs_uuid->net has been NULLed out.

    Also fix up the wake_up_var_locked() / wait_var_event_spinlock() to both
    use the nfs_uuid address, since nfl, and &nfl->uuid could be used elsewhere.

    Acked-by: Mike Snitzer <[email protected]>
    Tested-by: Mike Snitzer <[email protected]>
    Link: 
https://lore.kernel.org/all/[email protected]/
    Fixes: 21fb44034695 ("nfs_localio: protect race between nfs_uuid_put() and 
nfs_close_local_fh()")
    Signed-off-by: Trond Myklebust <[email protected]>

commit e144d53cf21fb9d02626c669533788c6bdc61ce3
Author: Trond Myklebust <[email protected]>
Date:   Tue Jul 15 12:43:41 2025 -0700

    NFS/localio: nfs_close_local_fh() fix check for file closed

    If the struct nfs_file_localio is closed, its list entry will be empty,
    but the nfs_uuid->files list might still contain other entries.

    Acked-by: Mike Snitzer <[email protected]>
    Tested-by: Mike Snitzer <[email protected]>
    Reviewed-by: NeilBrown <[email protected]>
    Fixes: 21fb44034695 ("nfs_localio: protect race between nfs_uuid_put() and 
nfs_close_local_fh()")
    Signed-off-by: Trond Myklebust <[email protected]>

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2125678

Title:
  Upgrade from 6.14.0-29 to 6.14.0-32 results in locked up login
  sessions on systems with nfs mounted home dirs

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-hwe-6.14/+bug/2125678/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to