Re: [PATCH 1/1] xfs: check for possible overflow in xfs_ioc_trim
From: Tomas Racek <hidden>
Date: 2012-07-31 10:32:39
Also in:
lkml
From: Tomas Racek <hidden>
Date: 2012-07-31 10:32:39
Also in:
lkml
quoted
+ + if (range.start > ULLONG_MAX - BBSIZE) + return -XFS_ERROR(EINVAL); +There's no point checking for overflow on the range start - what we need to check is whether it is larger than the size of the filesystem. We do that after the conversion of range.start to basic blocks, so that check needs to be promoted to before this. i.e. if (range.start >= XFS_FSB_TO_B(mp, mp->m_sb.sb_dblocks)) return -XFS_ERROR(EINVAL);quoted
start = BTOBB(range.start); end = start + BTOBBT(range.len) - 1; minlen = BTOBB(max_t(u64, granularity, range.minlen));And that will prevent the overflow in BTOBB() just as effectively...
You're right, that's a far better way, I'll change it so. Thanks! Tomas _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs