On Tue, 2020-04-07 at 14:40 +0200, Thorsten Glaser wrote: > Dear kernel team, > > libseccomp uses the __NR_* constants from <asm/unistd.h> in its > macro SCMP_SYS() which is designed to return int. > > However, on x32 some codes return unsigned long instead, breaking this. > The cause is that this… > > > /usr/include/x86_64-linux-gnux32/asm/unistd.h:#define __X32_SYSCALL_BIT > > 0x40000000UL > > … is OR’d into the numbers. > > I’d like to propose the change… > -#define __X32_SYSCALL_BIT 0x40000000UL > +#define __X32_SYSCALL_BIT 0x40000000 > … which should be safe to do as the number fits into signed int, > but must be checked against other users (especially in the kernel > itself I’d guess). > > This should also technically be correct, since on all(?) other > architectures syscall numbers are int constants. > > Please forward this to upstream.
You should not expect me to spend time talking to upstream about non- release architectures. That is way down the priority list. Ben. -- Ben Hutchings It's easier to fight for one's principles than to live up to them.
signature.asc
Description: This is a digitally signed message part