[Devel] [PATCH VZ9] fs/fuse/kio: accidental preempt_count disbalance
Alexey Kuznetsov
kuznet at virtuozzo.com
Tue Feb 11 21:44:08 MSK 2025
One in pcs_cs_accel is proven to be fatal, another one in pcs_mr
is just a finding while searching for the first one.
Signed-off-by: Alexey Kuznetsov <kuznet at virtuozzo.com>
---
fs/fuse/kio/pcs/pcs_cs_accel.c | 2 +-
fs/fuse/kio/pcs/pcs_mr.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/fuse/kio/pcs/pcs_cs_accel.c b/fs/fuse/kio/pcs/pcs_cs_accel.c
index 66a0e0f..036ca17 100644
--- a/fs/fuse/kio/pcs/pcs_cs_accel.c
+++ b/fs/fuse/kio/pcs/pcs_cs_accel.c
@@ -1128,8 +1128,8 @@ static void __complete_acr_work(struct work_struct * w)
for (i = 0; i < n; i++, ch++)
*ch = ireq->iochunk.acr.io_times[i];
}
+ FUSE_TRACE_COMMIT(fc->ktrace);
}
- FUSE_TRACE_COMMIT(fc->ktrace);
}
ireq_clear_acr(ireq);
diff --git a/fs/fuse/kio/pcs/pcs_mr.c b/fs/fuse/kio/pcs/pcs_mr.c
index c8efc13..9d83782 100644
--- a/fs/fuse/kio/pcs/pcs_mr.c
+++ b/fs/fuse/kio/pcs/pcs_mr.c
@@ -102,6 +102,7 @@ struct pcs_mr *pcs_mr_get(struct pcs_mr_set *mrs, int idx)
rcu_read_unlock();
return mr;
}
+ rcu_read_unlock();
return NULL;
}
--
1.8.3.1
More information about the Devel
mailing list