xfs
[Top] [All Lists]

[PATCH] xfs: check for null dquot in xfs_quota_calc_throttle()

To: xfs-oss <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfs: check for null dquot in xfs_quota_calc_throttle()
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Wed, 01 Oct 2014 11:16:37 -0500
Delivered-to: xfs@xxxxxxxxxxx
Coverity spotted this.

Granted, we *just* checked xfs_inod_dquot() in the caller (by calling
xfs_quota_need_throttle), but to be honest I don't know if this can
race, and this is the only place we don't check the return value -
and the check seems cheap and future-proof.

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---

Sorry for the handwavy commit log, if it's obvious that it can
race, feel free to fix the description. ;)

diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
index e9c47b6..afcf3c9 100644
--- a/fs/xfs/xfs_iomap.c
+++ b/fs/xfs/xfs_iomap.c
@@ -404,8 +404,8 @@ xfs_quota_calc_throttle(
        int shift = 0;
        struct xfs_dquot *dq = xfs_inode_dquot(ip, type);
 
-       /* over hi wmark, squash the prealloc completely */
-       if (dq->q_res_bcount >= dq->q_prealloc_hi_wmark) {
+       /* no dq, or over hi wmark, squash the prealloc completely */
+       if (!dq || dq->q_res_bcount >= dq->q_prealloc_hi_wmark) {
                *qblocks = 0;
                *qfreesp = 0;
                return;


<Prev in Thread] Current Thread [Next in Thread>