diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2023-05-22 22:01:13 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2023-05-22 22:01:13 +0300 |
commit | 421ca22e313871d4104617bab077b275b30950ae (patch) | |
tree | fb0b8145ac3f4a09c4e633afebbbcf9d9ac0fcc6 /net | |
parent | 44c026a73be8038f03dbdeef028b642880cf1511 (diff) | |
parent | 43439d858bbae244a510de47f9a55f667ca4ed52 (diff) | |
download | linux-421ca22e313871d4104617bab077b275b30950ae.tar.xz |
Merge tag 'nfs-for-6.4-2' of git://git.linux-nfs.org/projects/anna/linux-nfs
Pull NFS client fixes from Anna Schumaker:
"Stable Fix:
- Don't change task->tk_status after the call to rpc_exit_task
Other Bugfixes:
- Convert kmap_atomic() to kmap_local_folio()
- Fix a potential double free with READ_PLUS"
* tag 'nfs-for-6.4-2' of git://git.linux-nfs.org/projects/anna/linux-nfs:
NFSv4.2: Fix a potential double free with READ_PLUS
SUNRPC: Don't change task->tk_status after the call to rpc_exit_task
NFS: Convert kmap_atomic() to kmap_local_folio()
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/sched.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index c8321de341ee..6debf4fd42d4 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c @@ -927,11 +927,10 @@ static void __rpc_execute(struct rpc_task *task) */ do_action = task->tk_action; /* Tasks with an RPC error status should exit */ - if (do_action != rpc_exit_task && + if (do_action && do_action != rpc_exit_task && (status = READ_ONCE(task->tk_rpc_status)) != 0) { task->tk_status = status; - if (do_action != NULL) - do_action = rpc_exit_task; + do_action = rpc_exit_task; } /* Callbacks override all actions */ if (task->tk_callback) { |