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: <8639C367-2669-4924-83D8-15EAFAC42699@linux.vnet.ibm.com>
Date: Fri, 10 Jan 2025 12:34:46 +0530
From: Athira Rajeev <atrajeev@...ux.vnet.ibm.com>
To: Charlie Jenkins <charlie@...osinc.com>,
        Arnaldo Carvalho de Melo <acme@...nel.org>,
        Namhyung Kim <namhyung@...nel.org>, Ian Rogers <irogers@...gle.com>,
        Hari Bathini <hbathini@...ux.ibm.com>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
        Peter Zijlstra <peterz@...radead.org>,
        Mark Rutland <mark.rutland@....com>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Jiri Olsa <jolsa@...nel.org>, Adrian Hunter <adrian.hunter@...el.com>,
        Paul Walmsley <paul.walmsley@...ive.com>,
        Palmer Dabbelt <palmer@...belt.com>,
        Mickaël Salaün <mic@...ikod.net>,
        Günther Noack <gnoack@...gle.com>,
        Christian Brauner <brauner@...nel.org>, Guo Ren <guoren@...nel.org>,
        John Garry <john.g.garry@...cle.com>, Will Deacon <will@...nel.org>,
        James Clark <james.clark@...aro.org>,
        Mike Leach <mike.leach@...aro.org>, Leo Yan <leo.yan@...ux.dev>,
        Jonathan Corbet <corbet@....net>, Arnd Bergmann <arnd@...db.de>,
        linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
        linux-riscv@...ts.infradead.org, linux-security-module@...r.kernel.org,
        bpf@...r.kernel.org, linux-csky@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org, linux-doc@...r.kernel.org
Subject: Re: [PATCH v6 00/16] perf tools: Use generic syscall scripts for all
 archs



> On 10 Jan 2025, at 2:44 AM, Charlie Jenkins <charlie@...osinc.com> wrote:
> 
> On Thu, Jan 09, 2025 at 05:49:39PM -0300, Arnaldo Carvalho de Melo wrote:
>> On Thu, Jan 09, 2025 at 11:48:36AM -0800, Charlie Jenkins wrote:
>>> On Thu, Jan 09, 2025 at 12:59:43PM -0300, Arnaldo Carvalho de Melo wrote:
>>>> ⬢ [acme@...lbox perf-tools-next]$ git log --oneline -1 ; time make -C tools/perf build-test
>>>> d06826160a982494 (HEAD -> perf-tools-next) perf tools: Remove dependency on libaudit
>>>> make: Entering directory '/home/acme/git/perf-tools-next/tools/perf'
>>>> - tarpkg: ./tests/perf-targz-src-pkg .
>>>>                 make_static: cd . && make LDFLAGS=-static NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 NO_JVMTI=1 NO_LIBTRACEEVENT=1 NO_LIBELF=1 -j28  DESTDIR=/tmp/tmp.JJT3tvN7bV
>>>>              make_with_gtk2: cd . && make GTK2=1 -j28  DESTDIR=/tmp/tmp.BF53V2qpl3
>>>> - /home/acme/git/perf-tools-next/tools/perf/BUILD_TEST_FEATURE_DUMP: cd . && make FEATURE_DUMP_COPY=/home/acme/git/perf-tools-next/tools/perf/BUILD_TEST_FEATURE_DUMP  feature-dump
>>>> cd . && make FEATURE_DUMP_COPY=/home/acme/git/perf-tools-next/tools/perf/BUILD_TEST_FEATURE_DUMP feature-dump
>>>>         make_no_libbionic_O: cd . && make NO_LIBBIONIC=1 FEATURES_DUMP=/home/acme/git/perf-tools-next/tools/perf/BUILD_TEST_FEATURE_DUMP -j28 O=/tmp/tmp.KZuQ0q2Vs6 DESTDIR=/tmp/tmp.0sxMyH91gS
>>>>           make_util_map_o_O: cd . && make util/map.o FEATURES_DUMP=/home/acme/git/perf-tools-next/tools/perf/BUILD_TEST_FEATURE_DUMP -j28 O=/tmp/tmp.Y0Mx3KLREI DESTDIR=/tmp/tmp.wg9HCVVLHE
>>>>              make_install_O: cd . && make install FEATURES_DUMP=/home/acme/git/perf-tools-next/tools/perf/BUILD_TEST_FEATURE_DUMP -j28 O=/tmp/tmp.P0LEBAkW1X DESTDIR=/tmp/tmp.agTavZndFN
>>>>  failed to find: etc/bash_completion.d/perf
>>> 
>>> Is this something introduced by this patch?
>> 
>> I don't think so.
>> 
>> BTW this series is already pushed out to perf-tools-next:
>> 
>> https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/log/?h=perf-tools-next
>> 
>> Thanks!
>> 
>> - Arnaldo
> 
> Thank you!
> 
> - Charlie

Hi Charlie, Arnaldo

While testing the series, I hit compilation issue in powerpc

Snippet of logs:


  CC      util/syscalltbl.o
In file included from /home/athira/perf-tools-next/tools/perf/arch/powerpc/include/syscall_table.h:5,
                 from util/syscalltbl.c:16:
arch/powerpc/include/generated/asm/syscalls_64.h:16:16: error: initialized field overwritten [-Werror=override-init]
   16 |         [13] = "time",
      |                ^~~~~~
arch/powerpc/include/generated/asm/syscalls_64.h:16:16: note: (near initialization for ‘syscalltbl[13]’)
arch/powerpc/include/generated/asm/syscalls_64.h:22:16: error: initialized field overwritten [-Werror=override-init]
   22 |         [18] = "oldstat",
      |                ^~~~~~~~~
arch/powerpc/include/generated/asm/syscalls_64.h:22:16: note: (near initialization for ‘syscalltbl[18]’)
arch/powerpc/include/generated/asm/syscalls_64.h:27:16: error: initialized field overwritten [-Werror=override-init]
   27 |         [22] = "umount",
      |                ^~~~~~~~


And similar errors is there for few more entries. The reason is that, the generated syscalls file has two entries for each of these failing cases.

From arch/powerpc/include/generated/asm/syscalls_64.h created by scrips/syscalltbl.sh 


  1 static const char *const syscalltbl[] = {
  2         [0] = "restart_syscall",
  3         [1] = "exit",
  4         [2] = "fork",
  5         [3] = "read",
  6         [4] = "write",
  7         [5] = "open",
  8         [6] = "close",
  9         [7] = "waitpid",
 10         [8] = "creat",
 11         [9] = "link",
 12         [10] = "unlink",
 13         [11] = "execve",
 14         [12] = "chdir",
 15         [13] = "time”,                           
 16         [13] = "time”,                    
 17         [14] = "mknod",
 18         [15] = "chmod",
 19         [16] = "lchown",
 20         [17] = "break",
 21         [18] = "oldstat",
 22         [18] = "oldstat”,

Line number 15 an 16 shows two entries for time. Similarly last two lines for oldstat. This is picked form https://github.com/torvalds/linux/blob/master/tools/perf/arch/powerpc/entry/syscalls/syscall.tbl

13      32      time                            sys_time32
13      64      time                            sys_time

18      32      oldstat                         sys_stat                        sys_ni_syscall
18      64      oldstat                         sys_ni_syscall

For same nr, two entries are there. In the arch specific version of the script that makes the syscall table, this was handled : https://github.com/torvalds/linux/blob/master/tools/perf/arch/powerpc/entry/syscalls/mksyscalltbl#L28

So we will need change in generic script also. Proposing below change : 

diff --git a/tools/perf/scripts/syscalltbl.sh b/tools/perf/scripts/syscalltbl.sh
index 1ce0d5aa8b50..d66cec10cc2d 100755
--- a/tools/perf/scripts/syscalltbl.sh
+++ b/tools/perf/scripts/syscalltbl.sh
@@ -75,8 +75,10 @@ max_nr=0
 # the params are: nr abi name entry compat
 # use _ for intentionally unused variables according to SC2034
 while read nr _ name _ _; do
-    emit "$nr" "$name" >> $outfile
-    max_nr=$nr
+ if [ "$max_nr" -lt "$nr" ]; then
+ emit "$nr" "$name" >> $outfile
+ max_nr=$nr
+ fi
 done < $sorted_table
   rm -f $sorted_table

Arnaldo,
I see we have this patch series in perf-tools-next. If we need above change as a separate patch, please let me know.

Thanks
Athira

> 
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ