Patch "afs: Fix server->active leak in afs_put_server" has been added to the 6.0-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    afs: Fix server->active leak in afs_put_server

to the 6.0-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     afs-fix-server-active-leak-in-afs_put_server.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 1aeead7283e04aa94512b984c015c6e7bbf7a3a6
Author: Marc Dionne <marc.dionne@xxxxxxxxxxxx>
Date:   Wed Nov 30 17:55:51 2022 +0000

    afs: Fix server->active leak in afs_put_server
    
    [ Upstream commit ef4d3ea40565a781c25847e9cb96c1bd9f462bc6 ]
    
    The atomic_read was accidentally replaced with atomic_inc_return,
    which prevents the server from getting cleaned up and causes rmmod
    to hang with a warning:
    
        Can't purge s=00000001
    
    Fixes: 2757a4dc1849 ("afs: Fix access after dec in put functions")
    Signed-off-by: Marc Dionne <marc.dionne@xxxxxxxxxxxx>
    Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20221130174053.2665818-1-marc.dionne@xxxxxxxxxxxx/
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/afs/server.c b/fs/afs/server.c
index 4981baf97835..b5237206eac3 100644
--- a/fs/afs/server.c
+++ b/fs/afs/server.c
@@ -406,7 +406,7 @@ void afs_put_server(struct afs_net *net, struct afs_server *server,
 	if (!server)
 		return;
 
-	a = atomic_inc_return(&server->active);
+	a = atomic_read(&server->active);
 	zero = __refcount_dec_and_test(&server->ref, &r);
 	trace_afs_server(debug_id, r - 1, a, reason);
 	if (unlikely(zero))



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux