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
| ||
|
Date: Fri, 24 Sep 2021 14:34:56 +1000 From: Alistair Francis <alistair23@...il.com> To: Arnd Bergmann <arnd@...db.de> Cc: André Almeida <andrealmeid@...labora.com>, Alistair Francis <alistair.francis@...nsource.wdc.com>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, linux-riscv <linux-riscv@...ts.infradead.org>, Namhyung Kim <namhyung@...nel.org>, Jiri Olsa <jolsa@...hat.com>, linux-perf-users@...r.kernel.org, Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Mark Rutland <mark.rutland@....com>, Arnaldo Carvalho de Melo <acme@...nel.org>, Davidlohr Bueso <dave@...olabs.net>, Darren Hart <dvhart@...radead.org>, Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>, Thomas Gleixner <tglx@...utronix.de>, Atish Patra <atish.patra@....com>, Alistair Francis <alistair.francis@....com> Subject: Re: [PATCH v3 2/2] perf bench: Add support for 32-bit systems with 64-bit time_t On Tue, Sep 21, 2021 at 6:08 PM Arnd Bergmann <arnd@...db.de> wrote: > > On Tue, Sep 21, 2021 at 12:47 AM André Almeida > <andrealmeid@...labora.com> wrote: > > > > #if defined(__i386__) || __TIMESIZE == 32 > > # define NR_gettime64 __NR_clock_gettime64 > > #else > > # define NR_gettime64 __NR_clock_gettime > > #endif > > > > struct timespec64 { > > long long tv_sec; /* seconds */ > > long long tv_nsec; /* nanoseconds */ > > }; > > > > int gettime64(clock_t clockid, struct timespec64 *tv) > > { > > return syscall(NR_gettime64, clockid, tv); > > } > > > > Then we can just use &timeout at __NR_futex_time64 for 32bit arch and at > > __NR_futex for 64bit arch. > > This is still broken when you disable CONFIG_COMPAT_32BIT_TIME, > which disables all system calls that take time32 arguments. > > > This might be a simpler solution to the problem that you are facing but > > I'm not entirely sure. Also, futex's selftests do use the timeout > > argument and I think that they also won't compile in 32-bit RISC-V, so > > maybe we can start from there so we can actually test the timeout > > argument and check if it's working. > > I would love to see the wrapper that Alistair wrote as part of some kernel > uapi header provided to user space. futex is used by tons of applications, > and we never had a library abstraction for it, so everyone has to do these > by hand, and they all get them slightly wrong in different ways. > > We normally don't do this in kernel headers, but I think the benefits > would be far greater compared to today's situation. I'm happy to prepare a patch, if others are on board with it being accepted. Alistair > > Arnd
Powered by blists - more mailing lists