From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Mon, 08 Jun 2015 16:38:23 +0100 Subject: [Cluster-devel] [GFS2 PATCH] gfs2: s64 cast for negative quota value In-Reply-To: <1433777815-48533-1-git-send-email-adas@redhat.com> References: <1433777815-48533-1-git-send-email-adas@redhat.com> Message-ID: <5575B6EF.6070600@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Looks good to me: Acked-by: Steven Whitehouse Steve. On 08/06/15 16:36, Abhi Das wrote: > One-line fix to cast quota value to s64 before comparison. > By default the quantity is treated as u64. > > Signed-off-by: Abhi Das > --- > fs/gfs2/quota.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c > index dcd598a..c2607a2 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) {