]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ceph: fix possible integer overflow in ceph_zero_objects()
authorDmitry Kandybka <d.kandybka@gmail.com>
Tue, 22 Apr 2025 09:32:04 +0000 (12:32 +0300)
committerIlya Dryomov <idryomov@gmail.com>
Sun, 1 Jun 2025 15:53:16 +0000 (17:53 +0200)
In 'ceph_zero_objects', promote 'object_size' to 'u64' to avoid possible
integer overflow.

Compile tested only.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Dmitry Kandybka <d.kandybka@gmail.com>
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/file.c

index 851d70200c6b8f5746fe02fc667a802f70336a71..a7254cab44cc2e24186f5aa67169f11857e7b8de 100644 (file)
@@ -2616,7 +2616,7 @@ static int ceph_zero_objects(struct inode *inode, loff_t offset, loff_t length)
        s32 stripe_unit = ci->i_layout.stripe_unit;
        s32 stripe_count = ci->i_layout.stripe_count;
        s32 object_size = ci->i_layout.object_size;
-       u64 object_set_size = object_size * stripe_count;
+       u64 object_set_size = (u64) object_size * stripe_count;
        u64 nearly, t;
 
        /* round offset up to next period boundary */