[PATCH bpf-next] selftests/bpf: Use _REGION1_SIZE in test_snprintf_btf on s390

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



test_snprintf_btf fails on s390, because NULL points to a readable
struct lowcore there. Fix by using _REGION1_SIZE instead.

Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
---
 tools/testing/selftests/bpf/progs/netif_receive_skb.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/netif_receive_skb.c b/tools/testing/selftests/bpf/progs/netif_receive_skb.c
index 6b670039ea67..fa54d2abc41e 100644
--- a/tools/testing/selftests/bpf/progs/netif_receive_skb.c
+++ b/tools/testing/selftests/bpf/progs/netif_receive_skb.c
@@ -16,6 +16,13 @@ bool skip = false;
 #define STRSIZE			2048
 #define EXPECTED_STRSIZE	256
 
+#if defined(bpf_target_s390)
+/* NULL points to a readable struct lowcore on s390, so take _REGION1_SIZE */
+#define BADPTR			((void *)(1ULL << 53))
+#else
+#define BADPTR			0
+#endif
+
 #ifndef ARRAY_SIZE
 #define ARRAY_SIZE(x)	(sizeof(x) / sizeof((x)[0]))
 #endif
@@ -114,9 +121,9 @@ int BPF_PROG(trace_netif_receive_skb, struct sk_buff *skb)
 
 	/* Check invalid ptr value */
 	p.ptr = 0;
-	__ret = bpf_snprintf_btf(str, STRSIZE, &p, sizeof(p), 0);
+	__ret = bpf_snprintf_btf(str, STRSIZE, &p, sizeof(p), BADPTR);
 	if (__ret >= 0) {
-		bpf_printk("printing NULL should generate error, got (%d)",
+		bpf_printk("printing BADPTR should generate error, got (%d)",
 			   __ret);
 		ret = -ERANGE;
 	}
-- 
2.29.2




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux