162306a36Sopenharmony_ci#define __INVALID_ATOMIC_ACCESS_TEST(op)				\
262306a36Sopenharmony_ci	{								\
362306a36Sopenharmony_ci		"atomic " #op " access through non-pointer ",		\
462306a36Sopenharmony_ci		.insns = {						\
562306a36Sopenharmony_ci			BPF_MOV64_IMM(BPF_REG_0, 1),			\
662306a36Sopenharmony_ci			BPF_MOV64_IMM(BPF_REG_1, 0),			\
762306a36Sopenharmony_ci			BPF_ATOMIC_OP(BPF_DW, op, BPF_REG_1, BPF_REG_0, -8), \
862306a36Sopenharmony_ci			BPF_MOV64_IMM(BPF_REG_0, 0),			\
962306a36Sopenharmony_ci			BPF_EXIT_INSN(),				\
1062306a36Sopenharmony_ci		},							\
1162306a36Sopenharmony_ci		.result = REJECT,					\
1262306a36Sopenharmony_ci		.errstr = "R1 invalid mem access 'scalar'"		\
1362306a36Sopenharmony_ci	}
1462306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD),
1562306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD | BPF_FETCH),
1662306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD),
1762306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD | BPF_FETCH),
1862306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_AND),
1962306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_AND | BPF_FETCH),
2062306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_OR),
2162306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_OR | BPF_FETCH),
2262306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_XOR),
2362306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_XOR | BPF_FETCH),
2462306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_XCHG),
2562306a36Sopenharmony_ci__INVALID_ATOMIC_ACCESS_TEST(BPF_CMPXCHG),
26