From: Eric Sandeen <sandeen@redhat.com> To: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Cc: jack@suse.cz Subject: [PATCH 4/7] xfs: don't overflow quota ID when initializing dqblk Date: Fri, 22 Jan 2016 12:25:33 -0600 [thread overview] Message-ID: <1453487136-12681-5-git-send-email-sandeen@redhat.com> (raw) In-Reply-To: <1453487136-12681-1-git-send-email-sandeen@redhat.com> Quota IDs are unsigned, and so we can pass in values up to 2^32-1. But if we try to initialize a block containing values over MAX_INT, curid will overflow and assert. curid holds a quota ID, so give it the proper xfs_dqid_t type (and remove the now-impossible ASSERT). Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- fs/xfs/xfs_dquot.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c index 9c44d38..c9c7c2d 100644 --- a/fs/xfs/xfs_dquot.c +++ b/fs/xfs/xfs_dquot.c @@ -232,7 +232,8 @@ xfs_qm_init_dquot_blk( { struct xfs_quotainfo *q = mp->m_quotainfo; xfs_dqblk_t *d; - int curid, i; + xfs_dqid_t curid; + int i; ASSERT(tp); ASSERT(xfs_buf_islocked(bp)); @@ -243,7 +244,6 @@ xfs_qm_init_dquot_blk( * ID of the first dquot in the block - id's are zero based. */ curid = id - (id % q->qi_dqperchunk); - ASSERT(curid >= 0); memset(d, 0, BBTOB(q->qi_dqchunklen)); for (i = 0; i < q->qi_dqperchunk; i++, d++, curid++) { d->dd_diskdq.d_magic = cpu_to_be16(XFS_DQUOT_MAGIC); -- 1.7.1
WARNING: multiple messages have this Message-ID (diff)
From: Eric Sandeen <sandeen@redhat.com> To: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Cc: jack@suse.cz Subject: [PATCH 4/7] xfs: don't overflow quota ID when initializing dqblk Date: Fri, 22 Jan 2016 12:25:33 -0600 [thread overview] Message-ID: <1453487136-12681-5-git-send-email-sandeen@redhat.com> (raw) In-Reply-To: <1453487136-12681-1-git-send-email-sandeen@redhat.com> Quota IDs are unsigned, and so we can pass in values up to 2^32-1. But if we try to initialize a block containing values over MAX_INT, curid will overflow and assert. curid holds a quota ID, so give it the proper xfs_dqid_t type (and remove the now-impossible ASSERT). Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- fs/xfs/xfs_dquot.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c index 9c44d38..c9c7c2d 100644 --- a/fs/xfs/xfs_dquot.c +++ b/fs/xfs/xfs_dquot.c @@ -232,7 +232,8 @@ xfs_qm_init_dquot_blk( { struct xfs_quotainfo *q = mp->m_quotainfo; xfs_dqblk_t *d; - int curid, i; + xfs_dqid_t curid; + int i; ASSERT(tp); ASSERT(xfs_buf_islocked(bp)); @@ -243,7 +244,6 @@ xfs_qm_init_dquot_blk( * ID of the first dquot in the block - id's are zero based. */ curid = id - (id % q->qi_dqperchunk); - ASSERT(curid >= 0); memset(d, 0, BBTOB(q->qi_dqchunklen)); for (i = 0; i < q->qi_dqperchunk; i++, d++, curid++) { d->dd_diskdq.d_magic = cpu_to_be16(XFS_DQUOT_MAGIC); -- 1.7.1 _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2016-01-22 18:25 UTC|newest] Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-01-22 18:25 [PATCH 0/7 V3] quota: add new quotactl Q_GETNEXTQUOTA Eric Sandeen 2016-01-22 18:25 ` Eric Sandeen 2016-01-22 18:25 ` [PATCH 1/7] quota: remove unused cmd argument from quota_quotaon() Eric Sandeen 2016-01-22 18:25 ` Eric Sandeen 2016-01-25 14:47 ` Jan Kara 2016-01-25 14:47 ` Jan Kara 2016-01-25 14:49 ` Jan Kara 2016-01-25 14:49 ` Jan Kara 2016-01-22 18:25 ` [PATCH 2/7] quota: add new quotactl Q_XGETNEXTQUOTA Eric Sandeen 2016-01-22 18:25 ` Eric Sandeen 2016-01-25 14:51 ` Jan Kara 2016-01-25 14:51 ` Jan Kara 2016-01-26 12:57 ` Jan Kara 2016-01-26 12:57 ` Jan Kara 2016-01-26 15:00 ` Eric Sandeen 2016-01-26 15:00 ` Eric Sandeen 2016-01-26 17:52 ` Jan Kara 2016-01-26 17:52 ` Jan Kara 2016-01-26 17:57 ` Eric Sandeen 2016-01-26 17:57 ` Eric Sandeen 2016-01-26 18:39 ` Eric Sandeen 2016-01-26 18:39 ` Eric Sandeen 2016-01-26 20:40 ` Jan Kara 2016-01-26 20:40 ` Jan Kara 2016-01-22 18:25 ` [PATCH 3/7] quota: add new quotactl Q_GETNEXTQUOTA Eric Sandeen 2016-01-22 18:25 ` Eric Sandeen 2016-01-25 14:51 ` Jan Kara 2016-01-25 14:51 ` Jan Kara 2016-01-22 18:25 ` Eric Sandeen [this message] 2016-01-22 18:25 ` [PATCH 4/7] xfs: don't overflow quota ID when initializing dqblk Eric Sandeen 2016-01-22 18:25 ` [PATCH 5/7] xfs: get quota inode from mp & flags rather than dqp Eric Sandeen 2016-01-22 18:25 ` Eric Sandeen 2016-01-22 18:25 ` [PATCH 6/7] xfs: Factor xfs_seek_hole_data into helper Eric Sandeen 2016-01-22 18:25 ` Eric Sandeen 2016-01-22 18:25 ` [PATCH 7/7] xfs: wire up Q_XGETNEXTQUOTA / get_nextdqblk Eric Sandeen 2016-01-22 18:25 ` Eric Sandeen 2016-01-26 18:40 ` [PATCH 7/7 V4] " Eric Sandeen 2016-01-26 18:40 ` Eric Sandeen 2016-01-25 15:07 ` [PATCH 0/7 V3] quota: add new quotactl Q_GETNEXTQUOTA Jan Kara 2016-01-25 15:07 ` Jan Kara 2016-01-25 16:04 ` Eric Sandeen 2016-01-25 16:04 ` Eric Sandeen 2016-01-26 13:10 ` Jan Kara 2016-01-26 13:10 ` Jan Kara -- strict thread matches above, loose matches on Subject: below -- 2016-01-22 4:07 [PATCH 0/7 V2] " Eric Sandeen 2016-01-22 4:07 ` [PATCH 4/7] xfs: don't overflow quota ID when initializing dqblk Eric Sandeen 2016-01-22 4:07 ` Eric Sandeen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1453487136-12681-5-git-send-email-sandeen@redhat.com \ --to=sandeen@redhat.com \ --cc=jack@suse.cz \ --cc=linux-fsdevel@vger.kernel.org \ --cc=xfs@oss.sgi.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.