Re: [PATCH] mm: mempolicy: use VM_BUG_ON_VMA in queue_pages_test_walk()

From: Yang Shi
Date: Wed Jan 15 2020 - 12:27:14 EST




On 1/15/20 4:08 AM, Li Xinhai wrote:
On 2020-01-15Âat 14:09ÂYang ShiÂwrote:
The VM_BUG_ON() is already used by queue_pages_test_walk(), it sounds
better to dump more debug information by using VM_BUG_ON_VMA() to help
debugging.

Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>
The .test_walk() is to be called from pagewalk with the rule that 'start'
and 'end' must within range of vma, in case the rule is broke, we detect
it. This is not quite relevant to a bug of particular vma.

But when you run into VMA range check failure, isn't it helpful to dump the VMA range information to ease debugging? And, VM_BUG_ON is already used in the code, I'm supposed the users may prefer more debug information dumped for debug kernel.


---
mm/mempolicy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 067cf7d..801d45d 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -621,7 +621,7 @@ static int queue_pages_test_walk(unsigned long start, unsigned long end,
unsigned long flags = qp->flags;

/* range check first */
- VM_BUG_ON((vma->vm_start > start) || (vma->vm_end < end));
+ VM_BUG_ON_VMA((vma->vm_start > start) || (vma->vm_end < end), vma);

if (!qp->first) {
qp->first = vma;
--
1.8.3.1

>