MAINTAINERS | 1 - tools/testing/selftests/bpf/bpf_mptcp_helpers.h | 14 -------------- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 5 +++++ tools/testing/selftests/bpf/progs/mptcp_sock.c | 2 +- 4 files changed, 6 insertions(+), 16 deletions(-) delete mode 100644 tools/testing/selftests/bpf/bpf_mptcp_helpers.h
Drop bpf_mptcp_helpers.h, squash into bpf_tcp_helpers.h (Andrii)
1
CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 8996b41ffcd2 (selftests/bpf: verify token of struct mptcp_sock). Version 8996b41ffcd2 (selftests/bpf: verify token of struct mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree.
Auto-merging tools/testing/selftests/bpf/progs/mptcp_sock.c
error: could not apply 8996b41ffcd2... selftests/bpf: verify token of struct mptcp_sock
cat tools/testing/selftests/bpf/bpf_tcp_helpers.h:
'''
extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym;
struct mptcp_sock {
struct inet_connection_sock sk;
__u32 token;
} __attribute__((preserve_access_index));
'''
git add tools/testing/selftests/bpf/bpf_tcp_helpers.h
git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h
2
CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 57dcfb6f61ec (selftests/bpf: verify ca_name of struct mptcp_sock). Version 57dcfb6f61ec (selftests/bpf: verify ca_name of struct mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree.
Auto-merging tools/testing/selftests/bpf/bpf_tcp_helpers.h
Auto-merging tools/testing/selftests/bpf/progs/mptcp_sock.c
error: could not apply 57dcfb6f61ec... selftests/bpf: verify ca_name of struct mptcp_sock
cat tools/testing/selftests/bpf/bpf_tcp_helpers.h:
'''
extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym;
struct mptcp_sock {
struct inet_connection_sock sk;
__u32 token;
char ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));
'''
git add tools/testing/selftests/bpf/bpf_tcp_helpers.h
git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h
3
CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 416cb433f1df (selftests/bpf: verify first of struct mptcp_sock). Version 416cb433f1df (selftests/bpf: verify first of struct mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree.
Auto-merging tools/testing/selftests/bpf/progs/mptcp_sock.c
error: could not apply 416cb433f1df... selftests/bpf: verify first of struct mptcp_sock
cat tools/testing/selftests/bpf/bpf_tcp_helpers.h:
'''
extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym;
struct mptcp_sock {
struct inet_connection_sock sk;
__u32 token;
struct sock *first;
char ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));
'''
git add tools/testing/selftests/bpf/bpf_tcp_helpers.h
git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h
4
CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 74d3c74494e6 (mptcp: add struct mptcp_sched_ops). Version 74d3c74494e6 (mptcp: add struct mptcp_sched_ops) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree.
error: could not apply 74d3c74494e6... mptcp: add struct mptcp_sched_ops
cat tools/testing/selftests/bpf/bpf_tcp_helpers.h:
'''
extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym;
struct mptcp_sched_data {
struct sock *sock;
bool call_again;
};
struct mptcp_sched_ops {
char name[MPTCP_SCHED_NAME_MAX];
void (*init)(const struct mptcp_sock *msk);
void (*release)(const struct mptcp_sock *msk);
void (*get_subflow)(const struct mptcp_sock *msk, bool reinject,
struct mptcp_sched_data *data);
void *owner;
};
struct mptcp_sock {
struct inet_connection_sock sk;
__u32 token;
struct sock *first;
char ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));
'''
git add tools/testing/selftests/bpf/bpf_tcp_helpers.h
git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h
5
CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 1b3d7a5f1f10 (mptcp: add sched in mptcp_sock). Version 1b3d7a5f1f10 (mptcp: add sched in mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree.
error: could not apply 1b3d7a5f1f10... mptcp: add sched in mptcp_sock
cat tools/testing/selftests/bpf/bpf_tcp_helpers.h:
'''
extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym;
struct mptcp_sched_data {
struct sock *sock;
bool call_again;
};
struct mptcp_sched_ops {
char name[MPTCP_SCHED_NAME_MAX];
void (*init)(const struct mptcp_sock *msk);
void (*release)(const struct mptcp_sock *msk);
void (*get_subflow)(const struct mptcp_sock *msk, bool reinject,
struct mptcp_sched_data *data);
void *owner;
};
struct mptcp_sock {
struct inet_connection_sock sk;
__u32 token;
struct sock *first;
struct mptcp_sched_ops *sched;
char ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));
'''
git add tools/testing/selftests/bpf/bpf_tcp_helpers.h
git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
MAINTAINERS | 1 -
tools/testing/selftests/bpf/bpf_mptcp_helpers.h | 14 --------------
tools/testing/selftests/bpf/bpf_tcp_helpers.h | 5 +++++
tools/testing/selftests/bpf/progs/mptcp_sock.c | 2 +-
4 files changed, 6 insertions(+), 16 deletions(-)
delete mode 100644 tools/testing/selftests/bpf/bpf_mptcp_helpers.h
diff --git a/MAINTAINERS b/MAINTAINERS
index af0d6a8543f6..56f5dd17859b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13787,7 +13787,6 @@ F: include/net/mptcp.h
F: include/trace/events/mptcp.h
F: include/uapi/linux/mptcp.h
F: net/mptcp/
-F: tools/testing/selftests/bpf/bpf_mptcp_helpers.h
F: tools/testing/selftests/bpf/*/*mptcp*.c
F: tools/testing/selftests/net/mptcp/
diff --git a/tools/testing/selftests/bpf/bpf_mptcp_helpers.h b/tools/testing/selftests/bpf/bpf_mptcp_helpers.h
deleted file mode 100644
index 18da4cc65e89..000000000000
--- a/tools/testing/selftests/bpf/bpf_mptcp_helpers.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright (c) 2022, SUSE. */
-
-#ifndef __BPF_MPTCP_HELPERS_H
-#define __BPF_MPTCP_HELPERS_H
-
-#include "bpf_tcp_helpers.h"
-
-struct mptcp_sock {
- struct inet_connection_sock sk;
-
-} __attribute__((preserve_access_index));
-
-#endif
diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/selftests/bpf/bpf_tcp_helpers.h
index b1ede6f0b821..a43b1afe22bd 100644
--- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h
+++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h
@@ -225,4 +225,9 @@ static __always_inline bool tcp_cc_eq(const char *a, const char *b)
extern __u32 tcp_slow_start(struct tcp_sock *tp, __u32 acked) __ksym;
extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym;
+struct mptcp_sock {
+ struct inet_connection_sock sk;
+
+} __attribute__((preserve_access_index));
+
#endif
diff --git a/tools/testing/selftests/bpf/progs/mptcp_sock.c b/tools/testing/selftests/bpf/progs/mptcp_sock.c
index 9552584b1b6c..dd2448d1e7fc 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_sock.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_sock.c
@@ -4,7 +4,7 @@
#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>
-#include "bpf_mptcp_helpers.h"
+#include "bpf_tcp_helpers.h"
char _license[] SEC("license") = "GPL";
extern bool CONFIG_MPTCP __kconfig;
--
2.34.1
Hi Geliang, Mat, On 10/05/2022 06:23, Geliang Tang wrote: > Drop bpf_mptcp_helpers.h, squash into bpf_tcp_helpers.h (Andrii) Just applied (with some delay, sorry) in our tree: - fea9321e0256: "squashed" in "selftests/bpf: test bpf_skc_to_mptcp_sock" - fce3bccb2cda: conflict in t/selftests-bpf-verify-token-of-struct-mptcp_sock - 9dcaed2c0d9e: conflict in t/selftests-bpf-verify-ca_name-of-struct-mptcp_sock - bc1ecc2ce851: conflict in t/selftests-bpf-verify-first-of-struct-mptcp_sock - e25640bd2a45: conflict in t/mptcp-add-struct-mptcp_sched_ops - 5f43144bcb9b: conflict in t/mptcp-add-sched-in-mptcp_sock ChangeLog have been updated soon. I'm syncing with the v4 Mat sent yesterday, I will update the "export" branch just after. Cheers, Matt -- Tessares | Belgium | Hybrid Access Solutions www.tessares.net
On Tue, 10 May 2022, Geliang Tang wrote: > Drop bpf_mptcp_helpers.h, squash into bpf_tcp_helpers.h (Andrii) Hi Geliang - Since there are 6 different commits touching bpf_mptcp_helpers.h, maybe it would be easier for Matthieu if you posted the full patches for "selftests/bpf: test bpf_skc_to_mptcp_sock" and all the bpf patches after that, instead of squash changes / instructions? I'm not sure the instructions below translate well to topgit. - Mat > > 1 > > CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 8996b41ffcd2 (selftests/bpf: verify token of struct mptcp_sock). Version 8996b41ffcd2 (selftests/bpf: verify token of struct mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree. > Auto-merging tools/testing/selftests/bpf/progs/mptcp_sock.c > error: could not apply 8996b41ffcd2... selftests/bpf: verify token of struct mptcp_sock > > cat tools/testing/selftests/bpf/bpf_tcp_helpers.h: > > ''' > extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym; > > struct mptcp_sock { > struct inet_connection_sock sk; > > __u32 token; > } __attribute__((preserve_access_index)); > > ''' > > git add tools/testing/selftests/bpf/bpf_tcp_helpers.h > git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h > > 2 > > CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 57dcfb6f61ec (selftests/bpf: verify ca_name of struct mptcp_sock). Version 57dcfb6f61ec (selftests/bpf: verify ca_name of struct mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree. > Auto-merging tools/testing/selftests/bpf/bpf_tcp_helpers.h > Auto-merging tools/testing/selftests/bpf/progs/mptcp_sock.c > error: could not apply 57dcfb6f61ec... selftests/bpf: verify ca_name of struct mptcp_sock > > cat tools/testing/selftests/bpf/bpf_tcp_helpers.h: > > ''' > extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym; > > struct mptcp_sock { > struct inet_connection_sock sk; > > __u32 token; > char ca_name[TCP_CA_NAME_MAX]; > } __attribute__((preserve_access_index)); > > ''' > > git add tools/testing/selftests/bpf/bpf_tcp_helpers.h > git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h > > 3 > > CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 416cb433f1df (selftests/bpf: verify first of struct mptcp_sock). Version 416cb433f1df (selftests/bpf: verify first of struct mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree. > Auto-merging tools/testing/selftests/bpf/progs/mptcp_sock.c > error: could not apply 416cb433f1df... selftests/bpf: verify first of struct mptcp_sock > > cat tools/testing/selftests/bpf/bpf_tcp_helpers.h: > > ''' > extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym; > > struct mptcp_sock { > struct inet_connection_sock sk; > > __u32 token; > struct sock *first; > char ca_name[TCP_CA_NAME_MAX]; > } __attribute__((preserve_access_index)); > > ''' > > git add tools/testing/selftests/bpf/bpf_tcp_helpers.h > git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h > > 4 > > CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 74d3c74494e6 (mptcp: add struct mptcp_sched_ops). Version 74d3c74494e6 (mptcp: add struct mptcp_sched_ops) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree. > error: could not apply 74d3c74494e6... mptcp: add struct mptcp_sched_ops > > cat tools/testing/selftests/bpf/bpf_tcp_helpers.h: > > ''' > extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym; > > struct mptcp_sched_data { > struct sock *sock; > bool call_again; > }; > > struct mptcp_sched_ops { > char name[MPTCP_SCHED_NAME_MAX]; > > void (*init)(const struct mptcp_sock *msk); > void (*release)(const struct mptcp_sock *msk); > > void (*get_subflow)(const struct mptcp_sock *msk, bool reinject, > struct mptcp_sched_data *data); > void *owner; > }; > > struct mptcp_sock { > struct inet_connection_sock sk; > > __u32 token; > struct sock *first; > char ca_name[TCP_CA_NAME_MAX]; > } __attribute__((preserve_access_index)); > > ''' > > git add tools/testing/selftests/bpf/bpf_tcp_helpers.h > git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h > > 5 > > CONFLICT (modify/delete): tools/testing/selftests/bpf/bpf_mptcp_helpers.h deleted in HEAD and modified in 1b3d7a5f1f10 (mptcp: add sched in mptcp_sock). Version 1b3d7a5f1f10 (mptcp: add sched in mptcp_sock) of tools/testing/selftests/bpf/bpf_mptcp_helpers.h left in tree. > error: could not apply 1b3d7a5f1f10... mptcp: add sched in mptcp_sock > > cat tools/testing/selftests/bpf/bpf_tcp_helpers.h: > > ''' > extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym; > > struct mptcp_sched_data { > struct sock *sock; > bool call_again; > }; > > struct mptcp_sched_ops { > char name[MPTCP_SCHED_NAME_MAX]; > > void (*init)(const struct mptcp_sock *msk); > void (*release)(const struct mptcp_sock *msk); > > void (*get_subflow)(const struct mptcp_sock *msk, bool reinject, > struct mptcp_sched_data *data); > void *owner; > }; > > struct mptcp_sock { > struct inet_connection_sock sk; > > __u32 token; > struct sock *first; > struct mptcp_sched_ops *sched; > char ca_name[TCP_CA_NAME_MAX]; > } __attribute__((preserve_access_index)); > > ''' > > git add tools/testing/selftests/bpf/bpf_tcp_helpers.h > git rm tools/testing/selftests/bpf/bpf_mptcp_helpers.h > > Signed-off-by: Geliang Tang <geliang.tang@suse.com> > --- > MAINTAINERS | 1 - > tools/testing/selftests/bpf/bpf_mptcp_helpers.h | 14 -------------- > tools/testing/selftests/bpf/bpf_tcp_helpers.h | 5 +++++ > tools/testing/selftests/bpf/progs/mptcp_sock.c | 2 +- > 4 files changed, 6 insertions(+), 16 deletions(-) > delete mode 100644 tools/testing/selftests/bpf/bpf_mptcp_helpers.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index af0d6a8543f6..56f5dd17859b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -13787,7 +13787,6 @@ F: include/net/mptcp.h > F: include/trace/events/mptcp.h > F: include/uapi/linux/mptcp.h > F: net/mptcp/ > -F: tools/testing/selftests/bpf/bpf_mptcp_helpers.h > F: tools/testing/selftests/bpf/*/*mptcp*.c > F: tools/testing/selftests/net/mptcp/ > > diff --git a/tools/testing/selftests/bpf/bpf_mptcp_helpers.h b/tools/testing/selftests/bpf/bpf_mptcp_helpers.h > deleted file mode 100644 > index 18da4cc65e89..000000000000 > --- a/tools/testing/selftests/bpf/bpf_mptcp_helpers.h > +++ /dev/null > @@ -1,14 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -/* Copyright (c) 2022, SUSE. */ > - > -#ifndef __BPF_MPTCP_HELPERS_H > -#define __BPF_MPTCP_HELPERS_H > - > -#include "bpf_tcp_helpers.h" > - > -struct mptcp_sock { > - struct inet_connection_sock sk; > - > -} __attribute__((preserve_access_index)); > - > -#endif > diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/selftests/bpf/bpf_tcp_helpers.h > index b1ede6f0b821..a43b1afe22bd 100644 > --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h > +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h > @@ -225,4 +225,9 @@ static __always_inline bool tcp_cc_eq(const char *a, const char *b) > extern __u32 tcp_slow_start(struct tcp_sock *tp, __u32 acked) __ksym; > extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym; > > +struct mptcp_sock { > + struct inet_connection_sock sk; > + > +} __attribute__((preserve_access_index)); > + > #endif > diff --git a/tools/testing/selftests/bpf/progs/mptcp_sock.c b/tools/testing/selftests/bpf/progs/mptcp_sock.c > index 9552584b1b6c..dd2448d1e7fc 100644 > --- a/tools/testing/selftests/bpf/progs/mptcp_sock.c > +++ b/tools/testing/selftests/bpf/progs/mptcp_sock.c > @@ -4,7 +4,7 @@ > > #include <linux/bpf.h> > #include <bpf/bpf_helpers.h> > -#include "bpf_mptcp_helpers.h" > +#include "bpf_tcp_helpers.h" > > char _license[] SEC("license") = "GPL"; > extern bool CONFIG_MPTCP __kconfig; > -- > 2.34.1 > > > -- Mat Martineau Intel
Hi Mat, Geliang, On 11/05/2022 01:03, Mat Martineau wrote: > On Tue, 10 May 2022, Geliang Tang wrote: > >> Drop bpf_mptcp_helpers.h, squash into bpf_tcp_helpers.h (Andrii) Thank you for the patch! > Hi Geliang - > > Since there are 6 different commits touching bpf_mptcp_helpers.h, maybe > it would be easier for Matthieu if you posted the full patches for > "selftests/bpf: test bpf_skc_to_mptcp_sock" and all the bpf patches > after that, instead of squash changes / instructions? > > I'm not sure the instructions below translate well to topgit. Sorry for the late reply. In fact, I prefer to get squash-to patches instead of reworded patches where I need to find differences :-) If there are conflicts, I'm usually fine with some explanations in the commit message. Here, the conflicts are easy to resolve: just move the content of one file to another one. For these conflicts, I don't even need the detailed instructions but that's always useful, just in case. If the conflicts are harder to resolve, sharing a Git branch on a public repo is an easy way for me to compare the resolution I did with the expected one. Cheers, Matt -- Tessares | Belgium | Hybrid Access Solutions www.tessares.net
On Sat, 14 May 2022, Matthieu Baerts wrote: > Hi Mat, Geliang, > > On 11/05/2022 01:03, Mat Martineau wrote: >> On Tue, 10 May 2022, Geliang Tang wrote: >> >>> Drop bpf_mptcp_helpers.h, squash into bpf_tcp_helpers.h (Andrii) > > Thank you for the patch! > >> Hi Geliang - >> >> Since there are 6 different commits touching bpf_mptcp_helpers.h, maybe >> it would be easier for Matthieu if you posted the full patches for >> "selftests/bpf: test bpf_skc_to_mptcp_sock" and all the bpf patches >> after that, instead of squash changes / instructions? >> >> I'm not sure the instructions below translate well to topgit. > > Sorry for the late reply. In fact, I prefer to get squash-to patches > instead of reworded patches where I need to find differences :-) > Noted, I should have spoken for myself :) I was hoping you would not need to find any differences if the old patches were dropped in favor of a fresh import of the new ones, but I was making a lot of assumptions there. > If there are conflicts, I'm usually fine with some explanations in the > commit message. Here, the conflicts are easy to resolve: just move the > content of one file to another one. For these conflicts, I don't even > need the detailed instructions but that's always useful, just in case. > > If the conflicts are harder to resolve, sharing a Git branch on a public > repo is an easy way for me to compare the resolution I did with the > expected one. I do agree this is the best thing to do in general. -- Mat Martineau Intel
bpf_mptcp_helpers.h is dropped, include bpf_tcp_helpers.h, instead of
bpf_mptcp_helpers.h.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/bpf/progs/mptcp_bpf_first.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c
index 8c8acf04fb92..fd67b5f42964 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c
@@ -2,7 +2,7 @@
/* Copyright (c) 2022, SUSE. */
#include <linux/bpf.h>
-#include "bpf_mptcp_helpers.h"
+#include "bpf_tcp_helpers.h"
char _license[] SEC("license") = "GPL";
--
2.34.1
© 2016 - 2024 Red Hat, Inc.