]> git.baikalelectronics.ru Git - kernel.git/commit
[amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 14 Jun 2020 03:03:25 +0000 (23:03 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 6 Jan 2021 13:40:56 +0000 (08:40 -0500)
commit7facdc426f86c67e579e49e100943cbccc43e1c6
treea0876eb192b15ff1a05e0560048f0306c1ccfd3b
parentf2485a2dc9f0f30fbdd013ad5772975100c71360
[amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly

To get rid of hardcoded size/offset in those macros we need to have
a definition of i386 variant of struct elf_prstatus.  However, we can't
do that in asm/compat.h - the types needed for that are not there and
adding an include of asm/user32.h into asm/compat.h would cause a lot
of mess.

That could be conveniently done in elfcore-compat.h, but currently there
is nowhere to put arch-dependent parts of it - no asm/elfcore-compat.h.
So we introduce a new file (asm/elfcore-compat.h, present on architectures
that have CONFIG_ARCH_HAS_ELFCORE_COMPAT set, currently only on x86),
have it pulled by linux/elfcore-compat.h and move the definitions there.

As a side benefit, we don't need to worry about accidental inclusion of
that file into binfmt_elf.c itself, so we don't need the dance with
COMPAT_PRSTATUS_SIZE, etc. - only fs/compat_binfmt_elf.c will see
that header.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/Kconfig
arch/x86/Kconfig
arch/x86/include/asm/compat.h
arch/x86/include/asm/elfcore-compat.h [new file with mode: 0644]
fs/compat_binfmt_elf.c
include/linux/elfcore-compat.h