diff --git a/samples/bpf/xdp_rxq_info_user.c b/samples/bpf/xdp_rxq_info_user.c
index b95e0ef61f06..862ee370f96a 100644
--- a/samples/bpf/xdp_rxq_info_user.c
+++ b/samples/bpf/xdp_rxq_info_user.c
@@ -426,16 +426,6 @@ static void stats_print(struct stats_record *stats_rec,
}
-/* Pointer swap trick */
-static inline void swap(struct stats_record **a, struct stats_record **b)
-{
- struct stats_record *tmp;
-
- tmp = *a;
- *a = *b;
- *b = tmp;
-}
-
static void stats_poll(int interval, int action, __u32 cfg_opt)
{
struct stats_record *record, *prev;@@ -445,7 +435,7 @@ static void stats_poll(int interval, int action, __u32 cfg_opt)
stats_collect(record);
while (1) {
- swap(&prev, &record);
+ swap(prev, record);
stats_collect(record);
stats_print(record, prev, action, cfg_opt);
sleep(interval);diff --git a/samples/bpf/xdp_sample_user.c b/samples/bpf/xdp_sample_user.c
index 158682852162..9508bc0c2f2f 100644
--- a/samples/bpf/xdp_sample_user.c
+++ b/samples/bpf/xdp_sample_user.c
@@ -1484,16 +1484,6 @@ static int sample_signal_cb(void)
return 0;
}
-/* Pointer swap trick */
-static void swap(struct stats_record **a, struct stats_record **b)
-{
- struct stats_record *tmp;
-
- tmp = *a;
- *a = *b;
- *b = tmp;
-}
-
static int sample_timer_cb(int timerfd, struct stats_record **rec,
struct stats_record **prev)
{@@ -1505,7 +1495,7 @@ static int sample_timer_cb(int timerfd, struct stats_record **rec,
if (ret < 0)
return -errno;
- swap(prev, rec);
+ swap(*prev, *rec);
ret = sample_stats_collect(*rec);
if (ret < 0)
return ret;
diff --git a/tools/testing/selftests/bpf/bpf_util.h b/tools/testing/selftests/bpf/bpf_util.h
index 10587a29b967..ba3c44d64d44 100644
--- a/tools/testing/selftests/bpf/bpf_util.h
+++ b/tools/testing/selftests/bpf/bpf_util.h
@@ -8,6 +8,9 @@
#include <errno.h>
#include <bpf/libbpf.h> /* libbpf_num_possible_cpus */
+#define swap(a, b) \
+ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
+
static inline unsigned int bpf_num_possible_cpus(void)
{
int possible_cpus = libbpf_num_possible_cpus();--
2.34.1
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees