[git pull] vfs.git pile 7

From: Al Viro
Date: Thu Jul 06 2017 - 05:11:30 EST


This part is basically untangling various compat stuff. Compat syscalls
moved to their native counterparts, getting rid of quite a bit of
double-copying and/or set_fs() uses. A lot of field-by-field copyin/copyout
killed off.
* kernel/compat.c is much closer to containing just the
copyin/copyout of compat structs. Not all compat syscalls are gone
from it yet, but it's getting there.
* ipc/compat_mq.c killed off completely.
* block/compat_ioctl.c cleaned up; floppy compat ioctls moved
to drivers/block/floppy.c where they belong. Yes, there are several
drivers that implement some of the same ioctls. Some are m68k and
one is 32bit-only pmac. drivers/block/floppy.c is the only one in
that bunch that can be built on biarch.

It might've been better off split into smaller chunks, but
there's already way too many branches as it is ;-/

A trivial conflict in kernel/compat.c - two piles of stuff
removed from it in two branches, next to each other.

The following changes since commit 2ea659a9ef488125eb46da6eb571de5eae5c43f6:

Linux 4.12-rc1 (2017-05-13 13:19:49 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git misc.compat

for you to fetch changes up to 0d0606060baefdb13d3d80dba1b4c816b0676e16:

mqueue: move compat syscalls to native ones (2017-07-04 13:13:49 -0400)

----------------------------------------------------------------
Al Viro (17):
trim __ARCH_WANT_SYS_OLD_GETRLIMIT
take compat_sys_old_getrlimit() to native syscall
do_sigaltstack(): lift copying to/from userland into callers
fb_get_fscreeninfo(): don't bother with do_fb_ioctl()
compat_{get,put}_bitmap(): use unsafe_{get,put}_user()
times(2): move compat to native
getrlimit()/setrlimit(): move compat to native
sigpending(): move compat to native
put_compat_rusage(): switch to copy_to_user()
select: switch compat_{get,put}_fd_set() to compat_{get,put}_bitmap()
rt_sigtimedwait(): move compat to native
ipmi: get COMPAT_IPMICTL_RECEIVE_MSG in sync with the native one
ipmi: get rid of field-by-field __get_user()
take floppy compat ioctls to sodding floppy.c
compat_hdio_ioctl: get rid of set_fs()
usbdevfs: get rid of field-by-field copyin
mqueue: move compat syscalls to native ones

arch/alpha/include/asm/unistd.h | 1 -
arch/m32r/include/asm/unistd.h | 1 -
arch/mips/include/asm/unistd.h | 1 -
arch/parisc/include/asm/unistd.h | 1 -
arch/powerpc/include/asm/compat.h | 1 -
arch/s390/include/asm/compat.h | 1 -
arch/x86/include/asm/compat.h | 1 -
block/compat_ioctl.c | 355 +-------------------------------------
drivers/block/floppy.c | 328 +++++++++++++++++++++++++++++++++++
drivers/char/ipmi/ipmi_devintf.c | 333 ++++++++++++++++-------------------
drivers/usb/core/devio.c | 48 ++----
drivers/video/fbdev/core/fbmem.c | 19 +-
fs/select.c | 44 +----
include/linux/compat.h | 3 +-
include/linux/signal.h | 2 -
include/linux/syscalls.h | 2 +-
include/linux/time.h | 3 -
ipc/Makefile | 3 +-
ipc/compat_mq.c | 138 ---------------
ipc/mqueue.c | 349 +++++++++++++++++++++++++++----------
kernel/compat.c | 267 ++++++----------------------
kernel/signal.c | 155 ++++++++++-------
kernel/sys.c | 100 ++++++++++-
23 files changed, 1019 insertions(+), 1137 deletions(-)
delete mode 100644 ipc/compat_mq.c