From: | Bastien Roucariès <rouca(at)debian(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, pgsql-bugs(at)lists(dot)postgresql(dot)org, Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
Subject: | Re: Detection of hadware feature => please do not use signal |
Date: | 2024-10-31 17:42:09 |
Message-ID: | 193820057.q8YS0ZdlI3@portable-bastien |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Le jeudi 31 octobre 2024, 17:29:45 UTC Heikki Linnakangas a écrit :
> On 31/10/2024 17:41, Bastien Roucariès wrote:
> > Hi,
> >
> > On debian side we will like to avoid use of sigill to detect feature.
> >
> > https://sources.debian.org/src/postgresql-17/17.0-1/src/port/pg_crc32c_armv8_choose.c/#L55
> >
> > is really bad.
>
> Why is it bad?
for a binary it is maybe safe for a library it is unsafe in Multi thread context to capture signal...
And we are burned by a recent CVE in ssh due to signal handling.
>
> > Could you use the canonical way under linux
> >
> > #include <sys/auxv.h>
> > #include <asm/hwcap.h>
> >
> > #if defined(__aarch64__)
> > return !(getauxval(AT_HWCAP) & HWCAP_CRC32);
> > #else
> > return !(getauxval(AT_HWCAP2) & HWCAP2_CRC32);
> > #endif
>
> We used to do that, but it was changed in commit 1c72ec6f. Looking at
> the discussion that led to it, it's not clear to me why we switched [1].
> Portablity to non-glibc systems maybe?
Yes I suppose but a
#ifdef __GLIBC__
#else
#endif
Will be safe
>
> If there's a handy, portable way to check CPU capabilities, I agree it
> seem less hacky than catching SIGILL...
unfortunatly no
>
> [1]
> https://www.postgresql.org/message-id/CAEepm%3D02Run-Pk3xyt%2BRV3p1N%2B7cKZxN95_MamaJw8Cnw%2BDwjQ%40mail.gmail.com
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2024-10-31 17:48:48 | Re: Detection of hadware feature => please do not use signal |
Previous Message | Heikki Linnakangas | 2024-10-31 17:29:45 | Re: Detection of hadware feature => please do not use signal |