On Thu, Feb 16, 2012 at 09:32:08PM +0800, Hillf Danton wrote: > On Thu, Feb 16, 2012 at 8:01 PM, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > > @@ -416,17 +417,20 @@ static inline int fault_in_pages_writeable(char __user *uaddr, int size) > > * Writing zeroes into userspace here is OK, because we know that if > > * the zero gets there, we'll be overwriting it. > > */ > > - ret = __put_user(0, uaddr); > > + while (uaddr <= end) { > > + ret = __put_user(0, uaddr); > > + if (ret != 0) > > + return ret; > > + uaddr += PAGE_SIZE; > > + } > > What if > uaddr & ~PAGE_MASK == PAGE_SIZE -3 && > end & ~PAGE_MASK == 2 I don't quite follow - can you elaborate upon which issue you're seeing? -Daniel -- Daniel Vetter Mail: daniel@xxxxxxxx Mobile: +41 (0)79 365 57 48 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>