--- x/fs/netfs/objects.c +++ y/fs/netfs/objects.c @@ -140,8 +140,10 @@ static void netfs_free_request(struct wo } rolling_buffer_clear(&rreq->buffer); - if (atomic_dec_and_test(&ictx->io_count)) + if (atomic_dec_and_test(&ictx->io_count)) { + smp_mb(); wake_up_var(&ictx->io_count); + } call_rcu(&rreq->rcu, netfs_free_request_rcu); }