summaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2014-10-14 09:38:01 +0200
committerSage Weil <sage@redhat.com>2014-10-14 21:57:05 +0200
commit0bc62284ee3f2a228c64902ed818b6ba8e04159b (patch)
tree57217cc15af14a00b0ac6adaede8fd7a819c5c0f /fs/ceph
parentrbd: rbd workqueues need a resque worker (diff)
downloadlinux-0bc62284ee3f2a228c64902ed818b6ba8e04159b.tar.xz
linux-0bc62284ee3f2a228c64902ed818b6ba8e04159b.zip
ceph: fix divide-by-zero in __validate_layout()
The 'stripe_unit' field is 64 bits, casting it to 32 bits can result zero. Signed-off-by: Yan, Zheng <zyan@redhat.com>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/ioctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/ioctl.c b/fs/ceph/ioctl.c
index d7dc812a2249..f851d8d70158 100644
--- a/fs/ceph/ioctl.c
+++ b/fs/ceph/ioctl.c
@@ -41,7 +41,7 @@ static long __validate_layout(struct ceph_mds_client *mdsc,
/* validate striping parameters */
if ((l->object_size & ~PAGE_MASK) ||
(l->stripe_unit & ~PAGE_MASK) ||
- (l->stripe_unit != 0 &&
+ ((unsigned)l->stripe_unit != 0 &&
((unsigned)l->object_size % (unsigned)l->stripe_unit)))
return -EINVAL;