path: root/mm/mincore.c
AgeCommit message (Collapse)AuthorLines
2007-02-15[PATCH] mincore: vma crossing fixNick Piggin-2/+10
My mincore also forgot about crossing vmas. Signed-off-by: Nick Piggin <> Signed-off-by: Linus Torvalds <>
2007-02-15[PATCH] mincore: fill in results properlyNick Piggin-0/+5
Paper bag time. Thanks to Randy for noticing that I didn't actually assign 'present' to anything. Unfortunately my original patch passed the few simple test cases I gave it, purely by coincidence. Signed-off-by: Nick Piggin <> Signed-off-by: Linus Torvalds <>
2007-02-15[PATCH] mincore: CONFIG_SWAP=n fixNick Piggin-0/+5
Fix mincore-anon patch to compile with CONFIG_SWAP=n Signed-off-by: Nick Piggin <> Signed-off-by: Linus Torvalds <>
2007-02-12[PATCH] mm: mincore anonNick Piggin-26/+76
Make mincore work for anon mappings, nonlinear, and migration entries. Based on patch from Linus Torvalds <>. Signed-off-by: Nick Piggin <> Acked-by: Hugh Dickins <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
2006-12-17[PATCH] sys_mincore: s/max/min/Oleg Nesterov-1/+1
fix a typo, sys_mincore() needs min(). Signed-off-by: Oleg Nesterov <> Signed-off-by: Linus "I'm a moron" Torvalds <>
2006-12-16Fix up mm/mincore.c error value casesLinus Torvalds-19/+10
Hugh Dickins correctly points out that mincore() is actually _supposed_ to fail on an unmapped hole in the user address space, rather than return valid ("empty") information about the hole. This just simplifies the problem further (I had been misled by our previous confusing and complicated way of doing mincore()). Also, in the unlikely situation that we can't allocate a temporary kernel buffer, we should actually return EAGAIN, not ENOMEM, to keep the "unmapped hole" and "allocation failure" error cases separate. Finally, add a comment about our stupid historical lack of support for anonymous mappings. I'll fix that if somebody reminds me after 2.6.20 is out. Acked-by: Hugh Dickins <> Signed-off-by: Linus Torvalds <>
2006-12-16Fix incorrect user space access locking in mincore()Linus Torvalds-104/+86
Doug Chapman noticed that mincore() will doa "copy_to_user()" of the result while holding the mmap semaphore for reading, which is a big no-no. While a recursive read-lock on a semaphore in the case of a page fault happens to work, we don't actually allow them due to deadlock schenarios with writers due to fairness issues. Doug and Marcel sent in a patch to fix it, but I decided to just rewrite the mess instead - not just fixing the locking problem, but making the code smaller and (imho) much easier to understand. Cc: Doug Chapman <> Cc: Marcel Holtmann <> Cc: Hugh Dickins <> Cc: Andrew Morton <> Signed-off-by: Linus Torvalds <>
2005-04-19[PATCH] freepgt: sys_mincore ignore FIRST_USER_PGD_NRHugh Dickins-3/+0
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). Signed-off-by: Hugh Dickins <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
2005-04-16Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds-0/+191
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!