lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEf4BzYAG320uwJrtehe-7j1vsta1JwHT9JJs_DcmX892W736A@mail.gmail.com>
Date: Mon, 2 Dec 2024 12:39:49 -0800
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: Honglei Wang <jameshongleiwang@....com>
Cc: tj@...nel.org, void@...ifault.com, nathan@...nel.org, 
	ndesaulniers@...gle.com, morbo@...gle.com, justinstitt@...gle.com, 
	haoluo@...gle.com, brho@...gle.com, joshdon@...gle.com, vishalc@...ux.ibm.com, 
	hongyan.xia2@....com, linux-kernel@...r.kernel.org, bpf@...r.kernel.org, 
	llvm@...ts.linux.dev
Subject: Re: [PATCH] sched_ext: Add __weak to fix the build errors

On Fri, Nov 29, 2024 at 1:36 AM Honglei Wang <jameshongleiwang@....com> wrote:
>
> commit 5cbb302880f5 ("sched_ext: Rename
> scx_bpf_dispatch[_vtime]_from_dsq*() -> scx_bpf_dsq_move[_vtime]*()")
> introduced several new functions which caused compilation errors when
> compiled with clang.
>
> Let's fix this by adding __weak markers.
>
> Signed-off-by: Honglei Wang <jameshongleiwang@....com>
> ---
>  tools/sched_ext/include/scx/common.bpf.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/sched_ext/include/scx/common.bpf.h b/tools/sched_ext/include/scx/common.bpf.h
> index 2f36b7b6418d..625f5b046776 100644
> --- a/tools/sched_ext/include/scx/common.bpf.h
> +++ b/tools/sched_ext/include/scx/common.bpf.h
> @@ -40,9 +40,9 @@ void scx_bpf_dsq_insert(struct task_struct *p, u64 dsq_id, u64 slice, u64 enq_fl
>  void scx_bpf_dsq_insert_vtime(struct task_struct *p, u64 dsq_id, u64 slice, u64 vtime, u64 enq_flags) __ksym __weak;
>  u32 scx_bpf_dispatch_nr_slots(void) __ksym;
>  void scx_bpf_dispatch_cancel(void) __ksym;
> -bool scx_bpf_dsq_move_to_local(u64 dsq_id) __ksym;
> -void scx_bpf_dsq_move_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym;
> -void scx_bpf_dsq_move_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym;
> +bool scx_bpf_dsq_move_to_local(u64 dsq_id) __ksym __weak;
> +void scx_bpf_dsq_move_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
> +void scx_bpf_dsq_move_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;

Ack, this is the way!

Acked-by: Andrii Nakryiko <andrii@...nel.org>

>  bool scx_bpf_dsq_move(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
>  bool scx_bpf_dsq_move_vtime(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
>  u32 scx_bpf_reenqueue_local(void) __ksym;
> --
> 2.45.2
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ