On Fri, 10 Feb 2012 20:57:31 +0100, Dan Smith <danms@xxxxxxxxxx> wrote:
MN> Commit message says about walk_pte_range() but commit changes MN> walk_page_range(). Yep, the issue occurs in walk_pte_range().
OK, it wasn't immediately obvious for me that while loop in walk_page_range() will actually recover if arguments are not aligned (since pgd_addr_end() caps returned value).
The goal was to ensure that the external interface to it (which is walk_page_range()) does the check and avoids doing the walk entirely. I think the expectation is that walk_page_range() is used on aligned addresses. If we put the check in walk_pte_range() then only walks with a pte_entry handler would fail on unaligned addresses, which is potentially confusing. MN> So why not change the condition to addr < end? That would work, of course, but seems sloppier and less precise. The existing code was clearly written expecting to walk aligned addresses.
Fair enough. -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +----<email/xmpp: mpn@xxxxxxxxxx>--------------ooO--(_)--Ooo-- -- 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