The while loop doesn't execute and following warning gets generated:

protection_keys.c:561:15: warning: code will never be executed
[-Wunreachable-code]
                int rpkey = alloc_random_pkey();

Let's enable the while loop such that it gets executed nr_iterations
times. Simplify the code a bit as well.

Reviewed-by: Sidhartha Kumar <[email protected]>
Signed-off-by: Muhammad Usama Anjum <[email protected]>
---
 tools/testing/selftests/mm/protection_keys.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/testing/selftests/mm/protection_keys.c 
b/tools/testing/selftests/mm/protection_keys.c
index 23ebec367015f..6281d4c61b50e 100644
--- a/tools/testing/selftests/mm/protection_keys.c
+++ b/tools/testing/selftests/mm/protection_keys.c
@@ -557,13 +557,11 @@ int mprotect_pkey(void *ptr, size_t size, unsigned long 
orig_prot,
        int nr_iterations = random() % 100;
        int ret;
 
-       while (0) {
+       while (nr_iterations-- >= 0) {
                int rpkey = alloc_random_pkey();
                ret = sys_mprotect_pkey(ptr, size, orig_prot, pkey);
                dprintf1("sys_mprotect_pkey(%p, %zx, prot=0x%lx, pkey=%ld) ret: 
%d\n",
                                ptr, size, orig_prot, pkey, ret);
-               if (nr_iterations-- < 0)
-                       break;
 
                dprintf1("%s()::%d, ret: %d pkey_reg: 0x%016llx"
                        " shadow: 0x%016llx\n",
-- 
2.47.3


Reply via email to