The patch titled Subject: coda: check for async upcall request using local state has been added to the -mm tree. Its filename is coda-check-for-async-upcall-request-using-local-state.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/coda-check-for-async-upcall-request-using-local-state.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/coda-check-for-async-upcall-request-using-local-state.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Jan Harkes <jaharkes@xxxxxxxxxx> Subject: coda: check for async upcall request using local state Originally flagged by Smatch because the code implicitly assumed outSize is not NULL for non-async upcalls because of a flag that was (not) set in req->uc_flags. However req->uc_flags field is in shared state and although the current code will not allow it to be changed before the async request check the code is more robust when it tests against the local outSize variable. Link: https://lkml.kernel.org/r/20210908140308.18491-3-jaharkes@xxxxxxxxxx Signed-off-by: Jan Harkes <jaharkes@xxxxxxxxxx> Cc: Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx> Cc: Jing Yangyang <jing.yangyang@xxxxxxxxxx> Cc: Xin Tan <tanxin.ctf@xxxxxxxxx> Cc: Xiyu Yang <xiyuyang19@xxxxxxxxxxxx> Cc: Zeal Robot <zealci@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/coda/upcall.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/fs/coda/upcall.c~coda-check-for-async-upcall-request-using-local-state +++ a/fs/coda/upcall.c @@ -744,7 +744,8 @@ static int coda_upcall(struct venus_comm list_add_tail(&req->uc_chain, &vcp->vc_pending); wake_up_interruptible(&vcp->vc_waitq); - if (req->uc_flags & CODA_REQ_ASYNC) { + /* We can return early on asynchronous requests */ + if (outSize == NULL) { mutex_unlock(&vcp->vc_mutex); return 0; } _ Patches currently in -mm which might be from jaharkes@xxxxxxxxxx are coda-avoid-null-pointer-dereference-from-a-bad-inode.patch coda-check-for-async-upcall-request-using-local-state.patch coda-avoid-flagging-null-inodes.patch coda-avoid-hidden-code-duplication-in-rename.patch coda-avoid-doing-bad-things-on-inode-type-changes-during-revalidation.patch coda-bump-module-version-to-72.patch