In `child_circular_list()` address of local variable ???struct lock_struct a???
is assigned to `head.list.next` raising the following warning.

robust_list.c: In function ???child_circular_list???:
robust_list.c:522:24: warning: storing the address of local variable ???a???
in ???head.list.next??? [-Wdangling-pointer=]

  522 |         head.list.next = &a.list;
      |         ~~~~~~~~~~~~~~~^~~~~~~~~
robust_list.c:513:28: note: ???a??? declared here
  513 |         struct lock_struct a, b, c;
      |                            ^
robust_list.c:512:40: note: ???head??? declared here
  512 |         static struct robust_list_head head;
      |                                        ^~~~

Defining the value with static keyword to fix this.

Signed-off-by: Ankit Khushwaha <[email protected]>
---
 tools/testing/selftests/futex/functional/robust_list.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/futex/functional/robust_list.c 
b/tools/testing/selftests/futex/functional/robust_list.c
index e7d1254e18ca..d1aab1cc5a37 100644
--- a/tools/testing/selftests/futex/functional/robust_list.c
+++ b/tools/testing/selftests/futex/functional/robust_list.c
@@ -510,7 +510,7 @@ TEST(test_robust_list_multiple_elements)
 static int child_circular_list(void *arg)
 {
        static struct robust_list_head head;
-       struct lock_struct a, b, c;
+       static struct lock_struct a, b, c;
        int ret;

        ret = set_list(&head);
--
2.51.1


Reply via email to