[Devel] [PATCH RHEL9 COMMIT] fs/fuse: kio: one more overflow
Konstantin Khorenko
khorenko at virtuozzo.com
Fri Oct 25 19:32:47 MSK 2024
The commit is pushed to "branch-rh9-5.14.0-427.37.1.vz9.78.x-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh9-5.14.0-427.37.1.vz9.78.1
------>
commit f5c8ab1a9c6222df1bfae5dd5946bc046940fc73
Author: Alexey Kuznetsov <kuznet at virtuozzo.com>
Date: Fri Oct 25 22:24:11 2024 +0800
fs/fuse: kio: one more overflow
Ancient bug, which was not caught only because nobody tried
to do a thing like:
fallocate -p -l 4g FILE
It is noop! Pretends to succeed but actually does nothing.
https://virtuozzo.atlassian.net/browse/VSTOR-94452
Signed-off-by: Alexey Kuznetsov <kuznet at virtuozzo.com>
Feature: vStorage
---
fs/fuse/kio/pcs/pcs_cluster.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/fuse/kio/pcs/pcs_cluster.c b/fs/fuse/kio/pcs/pcs_cluster.c
index 0a1c8dbc5227..b0a5e140faf8 100644
--- a/fs/fuse/kio/pcs/pcs_cluster.c
+++ b/fs/fuse/kio/pcs/pcs_cluster.c
@@ -347,8 +347,8 @@ static noinline void __pcs_cc_process_ireq_rw(struct pcs_int_request *ireq)
{
struct pcs_dentry_info *di = ireq->dentry;
u64 pos = ireq->apireq.req->pos;
- unsigned int sz = ireq->apireq.req->size;
- unsigned int dio_offset = 0;
+ u64 sz = ireq->apireq.req->size;
+ u64 dio_offset = 0;
struct pcs_flow_node *fl;
if (di->fileinfo.sys.map_type != PCS_MAP_PLAIN) {
@@ -368,7 +368,7 @@ static noinline void __pcs_cc_process_ireq_rw(struct pcs_int_request *ireq)
while (sz) {
struct pcs_int_request *sreq;
- unsigned int len;
+ u64 len;
u64 rpos, chunk, end_pos;
rpos = map_file_to_chunk(pos, di->fileinfo.sys.chunk_size_lo, di->fileinfo.sys.stripe_depth, di->fileinfo.sys.strip_width);
More information about the Devel
mailing list