[PATCH] selftests/futex: Give circular-list nodes static storage

Miles Krause via B4 Relay posted 1 patch 1 week, 6 days ago
tools/testing/selftests/futex/functional/robust_list.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] selftests/futex: Give circular-list nodes static storage
Posted by Miles Krause via B4 Relay 1 week, 6 days ago
From: Miles Krause <mileskrause5200@gmail.com>

The registered robust-list head has static storage but points at three
automatic lock nodes. GCC warns about storing the address of a local
variable in the static head when building the selftest with -Wall.

Give the nodes static storage as well. This keeps every object in the
circular list alive through child exit without changing the list topology.

Signed-off-by: Miles Krause <mileskrause5200@gmail.com>
---
Built with:

  make -C tools/testing/selftests/futex/functional clean
  make -C tools/testing/selftests/futex/functional robust_list

Tested with:

  tools/testing/selftests/futex/functional/robust_list -t test_circular_list
---
 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 b3fab60181d5..2300253a7e35 100644
--- a/tools/testing/selftests/futex/functional/robust_list.c
+++ b/tools/testing/selftests/futex/functional/robust_list.c
@@ -523,7 +523,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);

---
base-commit: 051f5d223dfc1806e216f60e4b29c1bf35f5c2d3
change-id: 20260711-futex-robust-list-static-nodes-7048d7119a05

Best regards,
--  
Miles Krause <mileskrause5200@gmail.com>
Re: [PATCH] selftests/futex: Give circular-list nodes static storage
Posted by André Almeida 1 week, 4 days ago
Em 11/07/2026 23:47, Miles Krause via B4 Relay escreveu:
> From: Miles Krause <mileskrause5200@gmail.com>
> 
> The registered robust-list head has static storage but points at three
> automatic lock nodes. GCC warns about storing the address of a local
> variable in the static head when building the selftest with -Wall.
> 
> Give the nodes static storage as well. This keeps every object in the
> circular list alive through child exit without changing the list topology.
> 
> Signed-off-by: Miles Krause <mileskrause5200@gmail.com>
Reviewed-by: André Almeida <andrealmeid@igalia.com>