| From: Dev Jain <dev.jain@arm.com> |
| Subject: selftests/mm: fix validate_addr() helper |
| Date: Fri, 20 Jun 2025 16:41:50 +0530 |
| |
| validate_addr() checks whether the address returned by mmap() lies in the |
| low or high VA space, according to whether a high addr hint was passed or |
| not. The fix commit mentioned below changed the code in such a way that |
| this function will always return failure when passed high_addr == 1; addr |
| will be >= HIGH_ADDR_MARK always, we will fall down to "if (addr > |
| HIGH_ADDR_MARK)" and return failure. Fix this. |
| |
| Link: https://lkml.kernel.org/r/20250620111150.50344-1-dev.jain@arm.com |
| Fixes: d1d86ce28d0f ("selftests/mm: virtual_address_range: conform to TAP format output") |
| Signed-off-by: Dev Jain <dev.jain@arm.com> |
| Reviewed-by: Donet Tom <donettom@linux.ibm.com> |
| Acked-by: David Hildenbrand <david@redhat.com> |
| Cc: Anshuman Khandual <anshuman.khandual@arm.com> |
| Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> |
| Cc: Ryan Roberts <ryan.roberts@arm.com> |
| Cc: Shuah Khan <shuah@kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| tools/testing/selftests/mm/virtual_address_range.c | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| --- a/tools/testing/selftests/mm/virtual_address_range.c~selftests-mm-fix-validate_addr-helper |
| +++ a/tools/testing/selftests/mm/virtual_address_range.c |
| @@ -77,8 +77,11 @@ static void validate_addr(char *ptr, int |
| { |
| unsigned long addr = (unsigned long) ptr; |
| |
| - if (high_addr && addr < HIGH_ADDR_MARK) |
| - ksft_exit_fail_msg("Bad address %lx\n", addr); |
| + if (high_addr) { |
| + if (addr < HIGH_ADDR_MARK) |
| + ksft_exit_fail_msg("Bad address %lx\n", addr); |
| + return; |
| + } |
| |
| if (addr > HIGH_ADDR_MARK) |
| ksft_exit_fail_msg("Bad address %lx\n", addr); |
| _ |