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] [day] [month] [year] [list]
Message-ID: <CAEf4Bza5nKk6_fVY2vmJjZgPb40zB+R3REy8==ZLc98eg1iHTA@mail.gmail.com>
Date: Wed, 5 Feb 2025 17:28:19 -0800
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: Charlie Jenkins <charlie@...osinc.com>
Cc: Alexei Starovoitov <alexei.starovoitov@...il.com>, Namhyung Kim <namhyung@...nel.org>, 
	Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, 
	Andrii Nakryiko <andrii@...nel.org>, Martin KaFai Lau <martin.lau@...ux.dev>, 
	Eduard Zingerman <eddyz87@...il.com>, Song Liu <song@...nel.org>, 
	Yonghong Song <yonghong.song@...ux.dev>, John Fastabend <john.fastabend@...il.com>, 
	KP Singh <kpsingh@...nel.org>, Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>, 
	Jiri Olsa <jolsa@...nel.org>, Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>, 
	Arnaldo Carvalho de Melo <acme@...nel.org>, Mark Rutland <mark.rutland@....com>, 
	Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Ian Rogers <irogers@...gle.com>, 
	Adrian Hunter <adrian.hunter@...el.com>, Quentin Monnet <qmo@...nel.org>, 
	"Rafael J. Wysocki" <rafael@...nel.org>, Daniel Lezcano <daniel.lezcano@...aro.org>, 
	Zhang Rui <rui.zhang@...el.com>, Lukasz Luba <lukasz.luba@....com>, 
	Josh Poimboeuf <jpoimboe@...nel.org>, Mykola Lysenko <mykolal@...com>, Shuah Khan <shuah@...nel.org>, 
	Jiri Kosina <jikos@...nel.org>, Benjamin Tissoires <bentiss@...nel.org>, 
	Steven Rostedt <rostedt@...dmis.org>, bpf <bpf@...r.kernel.org>, 
	LKML <linux-kernel@...r.kernel.org>, 
	"linux-perf-use." <linux-perf-users@...r.kernel.org>, 
	Linux Power Management <linux-pm@...r.kernel.org>, 
	"open list:KERNEL SELFTEST FRAMEWORK" <linux-kselftest@...r.kernel.org>, 
	"open list:HID CORE LAYER" <linux-input@...r.kernel.org>, 
	linux-trace-kernel <linux-trace-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/2] tools: Unify top-level quiet infrastructure

On Tue, Feb 4, 2025 at 3:24 PM Charlie Jenkins <charlie@...osinc.com> wrote:
>
> On Tue, Feb 04, 2025 at 11:02:42PM +0000, Alexei Starovoitov wrote:
> > On Tue, Feb 4, 2025 at 7:04 PM Namhyung Kim <namhyung@...nel.org> wrote:
> > >
> > > Hello,
> > >
> > > On Tue, Feb 04, 2025 at 10:34:41AM -0800, Charlie Jenkins wrote:
> > > > On Tue, Feb 04, 2025 at 05:18:42PM +0000, Alexei Starovoitov wrote:
> > > > > On Tue, Feb 4, 2025 at 12:10 AM Charlie Jenkins <charlie@...osinc.com> wrote:
> > > > > >
> > > > > > The quiet infrastructure was moved out of Makefile.build to accomidate
> > > > > > the new syscall table generation scripts in perf. Syscall table
> > > > > > generation wanted to also be able to be quiet, so instead of again
> > > > > > copying the code to set the quiet variables, the code was moved into
> > > > > > Makefile.perf to be used globally. This was not the right solution. It
> > > > > > should have been moved even further upwards in the call chain.
> > > > > > Makefile.include is imported in many files so this seems like a proper
> > > > > > place to put it.
> > > > > >
> > > > > > To:
> > > > > >
> > > > > > Signed-off-by: Charlie Jenkins <charlie@...osinc.com>
> > > > > > ---
> > > > > > Charlie Jenkins (2):
> > > > > >       tools: Unify top-level quiet infrastructure
> > > > > >       tools: Remove redundant quiet setup
> > > > > >
> > > > > >  tools/arch/arm64/tools/Makefile           |  6 -----
> > > > > >  tools/bpf/Makefile                        |  6 -----
> > > > > >  tools/bpf/bpftool/Documentation/Makefile  |  6 -----
> > > > > >  tools/bpf/bpftool/Makefile                |  6 -----
> > > > > >  tools/bpf/resolve_btfids/Makefile         |  2 --
> > > > > >  tools/bpf/runqslower/Makefile             |  5 +---
> > > > > >  tools/build/Makefile                      |  8 +-----
> > > > > >  tools/lib/bpf/Makefile                    | 13 ----------
> > > > >
> > > > > Nack.
> > > > > libbpf and bpftool are synced independently to github
> > > > > and released from there.
> > > > > This change breaks it.
> > >
> > > Sorry, I overlooked this part and merged a change that touched the
> > > common files into the perf tree.
> > >
> > > f2868b1a66d4f40f ("perf tools: Expose quiet/verbose variables in Makefile.perf")
> > >
> > > Unfortunately, it's already in v6.14-rc1.
> > >
> > > >
> > > > Can you explain how it breaks it? Currently bpftool and resolve_btfids
> > > > don't build quietly so this was an attempt to fix that.
> > >
> > > So I think you will need something like this for v6.14.  Again, sorry
> > > about the trouble.
> >
> > Just revert f2868b1a66d4f40f that created this mess.
>
> Why are you opposed to unifying this helpers among the various projects
> in tools? Can you explain what about this breaks the Github syncing flow
> and why it cannot be resolved? It doesn't make sense to duplicate "Q="
> in every Makefile anybody ever wants to add to tools just because bpf
> syncing isn't robust.

Alexei's concern about Github mirrors of bpftool and libbpf isn't
valid. Github versions of those projects use their own independent
Makefiles anyways, so your change doesn't break that aspect.

But your change *does* break both libbpf's and bpftool's make output
*in the kernel repo*. With this patch we basically don't have "quiet"
mode anymore:

$ git co f2868b1a66d4f40f07e985b0beead606b2753602
HEAD is now at f2868b1a66d4 perf tools: Expose quiet/verbose variables
in Makefile.perf
$ git log --oneline -n1
f2868b1a66d4 (HEAD) perf tools: Expose quiet/verbose variables in Makefile.perf
$ pwd
/home/andriin/linux/tools/lib/bpf
$ make
  gcc -Wp,-MD,/data/users/andriin/linux/tools/lib/bpf/staticobjs/.libbpf.o.d
-Wp,-MT,/data/users/andriin/linux/tools/lib/bpf/staticobjs/libbpf.o -g
-O2 -std=gnu89 -Wbad-function-cast -Wdeclaration-after-statement
-Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wno-system-headers
-Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes
-Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat
-Wno-type-limits -Wstrict-aliasing=3 -Wshadow -Wno-switch-enum -Werror
-Wall -I/data/users/andriin/linux/tools/lib/bpf/
-I/data/users/andriin/linux/tools/include
-I/data/users/andriin/linux/tools/include/uapi
-I/data/users/andriin/linux/tools/arch/x86/include -fvisibility=hidden
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D"BUILD_STR(s)=#s" -c -o
/data/users/andriin/linux/tools/lib/bpf/staticobjs/libbpf.o libbpf.c
^Cmake[2]: *** [/data/users/andriin/linux/tools/build/Makefile.build:86:
/data/users/andriin/linux/tools/lib/bpf/staticobjs/libbpf.o] Interrupt
make[1]: *** [Makefile:165:
/data/users/andriin/linux/tools/lib/bpf/staticobjs/libbpf-in.o]
Interrupt
make: *** [Makefile:143: all] Interrupt

$ git co HEAD~
Previous HEAD position was f2868b1a66d4 perf tools: Expose
quiet/verbose variables in Makefile.perf
HEAD is now at e9cbc854d8b1 perf config: Add a function to set one
variable in .perfconfig
$ make
  CC      /data/users/andriin/linux/tools/lib/bpf/staticobjs/libbpf.o
^C

So, can you please check and fix?

Also, looking at your patch:

a) you removed the `"$(origin V)", "command line"` check from both
perf and libbpf, so that's not really an equivalent change/behavior
now

b) a bit sloppy on assignment:

+ifeq ($(V),1)
+  quiet =
+  Q =
+else
+  quiet=quiet_
+  Q=@
+endif

note the spaces around '=', try to keep stuff like this consistent
(and if this was shell, it would bite you as well)

>
> - Charlie
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ