Messages in this thread | | | Date | Fri, 8 Apr 2005 04:40:18 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [PATCH 2/6] freepgt2: sys_mincore ignore FIRST_USER_PGD_NR |
| |
On Fri, 8 Apr 2005, Nick Piggin wrote: > David Howells wrote: > > Hugh Dickins <hugh@veritas.com> wrote: > > > > > Remove use of FIRST_USER_PGD_NR from sys_mincore: it's inconsistent > > > (no > > > other syscall refers to it), unnecessary (sys_mincore loops over vmas > > > further down) and incorrect (misses user addresses in ARM's first > > > pgd). > > > > You should make it use FIRST_USER_ADDRESS instead. This check allows NULL > > pointers and suchlike to be weeded out before having to take the > > semaphore. > > I'm not sure whether it is worth keeping the singular special > case here to slightly speed up what would probably be a bug in > a userspace program.
Well put - though you're more diffident about it than I would be!
Furthermore, it only allows NULL pointers and suchlike to be weeded out on the ARM (and ARM26) architecture, no other. I'm not averse to optimizing ARM and ARM26, but it's much too insignificant an optimization to warrant reference to such an architectural detail.
And it breaks the (peculiar) sys_mincore convention of doing all the work while returning -ENOMEM, if there were any holes in the address range. David's check stops it from doing any work in that case.
FIRST_USER_ADDRESS should be used in the very few places it is necessary, and not spread around beyond them.
Hugh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |