Thread (3 messages) 3 messages, 2 authors, 2012-07-31

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help