From: Abhi Das Date: Mon, 8 Jun 2015 16:20:50 +0000 (-0500) Subject: gfs2: s64 cast for negative quota value X-Git-Tag: firefly_0821_release~176^2~1537^2~3 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1bdf45352e1897ab02632a4ed3648db8cc183f71;p=firefly-linux-kernel-4.4.55.git gfs2: s64 cast for negative quota value One-line fix to cast quota value to s64 before comparison. By default the quantity is treated as u64. Signed-off-by: Abhi Das Signed-off-by: Bob Peterson Acked-by: Steven Whitehouse --- diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c index dcd598aa2691..c2607a26be89 100644 --- a/fs/gfs2/quota.c +++ b/fs/gfs2/quota.c @@ -798,7 +798,7 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc, loc -= sizeof(q); /* gfs2_internal_read would've advanced the loc ptr */ err = -EIO; be64_add_cpu(&q.qu_value, change); - if (be64_to_cpu(q.qu_value) < 0) + if (((s64)be64_to_cpu(q.qu_value)) < 0) q.qu_value = 0; /* Never go negative on quota usage */ qd->qd_qb.qb_value = q.qu_value; if (fdq) {