summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'misc.compat' of ↵Linus Torvalds2017-07-0623-1137/+1019
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull misc compat stuff updates from Al Viro: "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" * 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: mqueue: move compat syscalls to native ones usbdevfs: get rid of field-by-field copyin compat_hdio_ioctl: get rid of set_fs() take floppy compat ioctls to sodding floppy.c ipmi: get rid of field-by-field __get_user() ipmi: get COMPAT_IPMICTL_RECEIVE_MSG in sync with the native one rt_sigtimedwait(): move compat to native select: switch compat_{get,put}_fd_set() to compat_{get,put}_bitmap() put_compat_rusage(): switch to copy_to_user() sigpending(): move compat to native getrlimit()/setrlimit(): move compat to native times(2): move compat to native compat_{get,put}_bitmap(): use unsafe_{get,put}_user() fb_get_fscreeninfo(): don't bother with do_fb_ioctl() do_sigaltstack(): lift copying to/from userland into callers take compat_sys_old_getrlimit() to native syscall trim __ARCH_WANT_SYS_OLD_GETRLIMIT
| * mqueue: move compat syscalls to native onesAl Viro2017-07-043-228/+262
| | | | | | | | | | | | | | | | ... and stop messing with compat_alloc_user_space() and friends [braino fix from Colin King folded in] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * usbdevfs: get rid of field-by-field copyinAl Viro2017-06-291-29/+19
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * compat_hdio_ioctl: get rid of set_fs()Al Viro2017-06-291-9/+6
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * take floppy compat ioctls to sodding floppy.cAl Viro2017-06-292-340/+328
| | | | | | | | | | | | | | all other drivers recognizing those ioctls are very much *not* biarch. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ipmi: get rid of field-by-field __get_user()Al Viro2017-06-261-50/+37
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ipmi: get COMPAT_IPMICTL_RECEIVE_MSG in sync with the native oneAl Viro2017-06-261-133/+115
| | | | | | | | | | | | | | We want to know if copyout has succeeded before we commit to freeing msg. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * rt_sigtimedwait(): move compat to nativeAl Viro2017-06-093-35/+35
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * select: switch compat_{get,put}_fd_set() to compat_{get,put}_bitmap()Al Viro2017-06-091-39/+5
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * put_compat_rusage(): switch to copy_to_user()Al Viro2017-06-091-19/+21
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * sigpending(): move compat to nativeAl Viro2017-06-092-23/+12
| | | | | | | | | | | | ... and kill set_fs() use Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * getrlimit()/setrlimit(): move compat to nativeAl Viro2017-06-092-38/+48
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * times(2): move compat to nativeAl Viro2017-06-093-28/+27
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * compat_{get,put}_bitmap(): use unsafe_{get,put}_user()Al Viro2017-06-092-55/+29
| | | | | | | | | | | | unroll the inner loops, while we are at it Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * fb_get_fscreeninfo(): don't bother with do_fb_ioctl()Al Viro2017-06-091-14/+5
| | | | | | | | | | | | it's easier to do the right thing directly Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * do_sigaltstack(): lift copying to/from userland into callersAl Viro2017-05-271-61/+46
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * take compat_sys_old_getrlimit() to native syscallAl Viro2017-05-276-33/+25
| | | | | | | | | | | | ... and sanitize the ifdefs in there Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * trim __ARCH_WANT_SYS_OLD_GETRLIMITAl Viro2017-05-274-4/+0
| | | | | | | | | | | | | | alpha. m32r, mips and parisc define it, even though the syscall itself is not wired. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* | Merge branch 'work.drm' of ↵Linus Torvalds2017-07-0612-1045/+476
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull DRM compat ioctl handling updates from Al Viro: "This kills the double-copies in there and tons of field-by-field copyin/copyout. Several dead ioctls put to rest, while we are at it - the native counterparts had been gone for a decade, so we can bloody well fail early on the compat side. No point rearranging the 32bit structure into 64bit one (and back) only to be told "piss off, I don't know that ioctl" by the native code..." * 'work.drm' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (29 commits) Fix trivial misannotations mga: switch compat ioctls to drm_ioctl_kernel() radeon: take out dead compat ioctls drm compat: ia64 is not biarch drm_compat_ioctl(): tidy up a bit switch compat_drm_mapbufs() to drm_ioctl_kernel() switch compat_drm_rmmap() to drm_ioctl_kernel() switch compat_drm_mode_addfb2() to drm_ioctl_kernel() switch compat_drm_wait_vblank() to drm_ioctl_kernel() switch compat_drm_update_draw() compat_drm: switch sg ioctls compat_drm: switch AGP compat ioctls to drm_ioctl_kernel() switch compat_drm_dma() to drm_ioctl_kernel() switch compat_drm_resctx() to drm_ioctl_kernel() switch compat_drm_getsareactx() to drm_ioctl_kernel() switch compat_drm_setsareactx() to drm_ioctl_kernel() switch compat_drm_freebufs() to drm_ioctl_kernel() switch compat_drm_markbufs() to drm_ioctl_kernel() switch compat_drm_addmap() to drm_ioctl_kernel() switch compat_drm_getstats() to drm_ioctl_kernel() ...
| * | Fix trivial misannotationsAl Viro2017-07-062-3/+3
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | mga: switch compat ioctls to drm_ioctl_kernel()Al Viro2017-07-044-90/+64
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | radeon: take out dead compat ioctlsAl Viro2017-07-043-427/+16
| | | | | | | | | | | | | | | | | | | | | Compat wrappers in radeon_ioc32.c had been unreachable since "drm/radeon: remove UMS support" has removed radeon_driver_old_fops. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | drm compat: ia64 is not biarchAl Viro2017-07-041-2/+2
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | drm_compat_ioctl(): tidy up a bitAl Viro2017-07-041-13/+9
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_mapbufs() to drm_ioctl_kernel()Al Viro2017-07-043-65/+77
| | | | | | | | | | | | | | | | | | | | | Another horror like addbufs; this one is even uglier. With that done, drm_ioc32.c should be sane. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_rmmap() to drm_ioctl_kernel()Al Viro2017-07-041-10/+4
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_mode_addfb2() to drm_ioctl_kernel()Al Viro2017-07-041-28/+10
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_wait_vblank() to drm_ioctl_kernel()Al Viro2017-07-041-16/+10
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_update_draw()Al Viro2017-07-041-14/+3
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | compat_drm: switch sg ioctlsAl Viro2017-07-041-18/+12
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | compat_drm: switch AGP compat ioctls to drm_ioctl_kernel()Al Viro2017-07-041-65/+44
| | | | | | | | | | | | | | | | | | [folded a fix from Colin King] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_dma() to drm_ioctl_kernel()Al Viro2017-05-271-25/+13
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_resctx() to drm_ioctl_kernel()Al Viro2017-05-271-13/+7
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_getsareactx() to drm_ioctl_kernel()Al Viro2017-05-271-15/+8
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_setsareactx() to drm_ioctl_kernel()Al Viro2017-05-271-11/+6
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_freebufs() to drm_ioctl_kernel()Al Viro2017-05-271-11/+5
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_markbufs() to drm_ioctl_kernel()Al Viro2017-05-271-11/+7
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_addmap() to drm_ioctl_kernel()Al Viro2017-05-271-20/+13
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_getstats() to drm_ioctl_kernel()Al Viro2017-05-271-18/+4
| | | | | | | | | | | | | | | | | | | | | | | | The reason we call drm_ioctl_kernel() at all is that we want error handling; conversions would be pointless there - user buffer is simply zeroed. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_getclient() to drm_ioctl_kernel()Al Viro2017-05-273-18/+14
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_infobufs() to drm_ioctl_kernel()Al Viro2017-05-273-56/+53
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_getmap() to drm_ioctl_kernel()Al Viro2017-05-271-21/+12
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | compat_drm_setunique(): don't botherAl Viro2017-05-271-16/+3
| | | | | | | | | | | | | | | | | | | | | native equivalent would just fail with -EINVAL; do the same directly. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_getunique() to drm_ioctl_kernel()Al Viro2017-05-273-14/+10
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_version() to drm_ioctl_kernel()Al Viro2017-05-273-27/+18
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | switch compat_drm_addbufs() to drm_ioctl_kernel()Al Viro2017-05-271-13/+17
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | drm_compat_ioctl(): prepare for conversions to drm_ioctl_kernel()Al Viro2017-05-271-34/+47
| | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * | new helper: drm_ioctl_kernel()Al Viro2017-05-272-14/+28
| |/ | | | | | | | | | | | | drm_ioctl() guts sans copying the structure to/from userland and parsing the ioctl cmd. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* | Merge tag 'trace-v4.13' of ↵Linus Torvalds2017-07-0617-245/+797
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing updates from Steven Rostedt: "The new features of this release: - Added TRACE_DEFINE_SIZEOF() which allows trace events that use sizeof() it the TP_printk() to be converted to the actual size such that trace-cmd and perf can parse them correctly. - Some rework of the TRACE_DEFINE_ENUM() such that the above TRACE_DEFINE_SIZEOF() could reuse the same code. - Recording of tgid (Thread Group ID). This is similar to how task COMMs are recorded (cached at sched_switch), where it is in a table and used on output of the trace and trace_pipe files. - Have ":mod:<module>" be cached when written into set_ftrace_filter. Then the functions of the module will be traced at module load. - Some random clean ups and small fixes" * tag 'trace-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (26 commits) ftrace: Test for NULL iter->tr in regex for stack_trace_filter changes ftrace: Decrement count for dyn_ftrace_total_info for init functions ftrace: Unlock hash mutex on failed allocation in process_mod_list() tracing: Add support for display of tgid in trace output tracing: Add support for recording tgid of tasks ftrace: Decrement count for dyn_ftrace_total_info file ftrace: Remove unused function ftrace_arch_read_dyn_info() sh/ftrace: Remove only user of ftrace_arch_read_dyn_info() ftrace: Have cached module filters be an active filter ftrace: Implement cached modules tracing on module load ftrace: Have the cached module list show in set_ftrace_filter ftrace: Add :mod: caching infrastructure to trace_array tracing: Show address when function names are not found ftrace: Add missing comment for FTRACE_OPS_FL_RCU tracing: Rename update the enum_map file tracing: Add TRACE_DEFINE_SIZEOF() macros tracing: define TRACE_DEFINE_SIZEOF() macro to map sizeof's to their values tracing: Rename enum_replace to eval_replace trace: rename enum_map functions trace: rename trace.c enum functions ...
| * | ftrace: Test for NULL iter->tr in regex for stack_trace_filter changesSteven Rostedt (VMware)2017-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | As writing into stack_trace_filter, the iter-tr is not set and is NULL. Check if it is NULL before dereferencing it in ftrace_regex_release(). Fixes: 8c08f0d5c6fb ("ftrace: Have cached module filters be an active filter") Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>