From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zeniv.linux.org.uk ([195.92.253.2]:43422 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750922AbdGFJLG (ORCPT ); Thu, 6 Jul 2017 05:11:06 -0400 Date: Thu, 6 Jul 2017 10:11:04 +0100 From: Al Viro To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, David Airlie Subject: [git pull] vfs.git pile 6 Message-ID: <20170706091104.GI10672@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: [6 more piles tonight with several more left for tomorrow] DRM compat ioctl handling. Kills 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... There's a trivial fixup patch tagged on the end of that branch; I could fold it back, but one of the affected commits is early in the queue and fixup does not affect gcc at all - it's dealing with sparse misannotations only, so it's not a bisect hazard and I decided to leave it at the branch tip. 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 work.drm for you to fetch changes up to b87b786b1fa1aa1bba33da22c8bb6b3ec7b608d2: Fix trivial misannotations (2017-07-06 02:00:00 -0400) ---------------------------------------------------------------- Al Viro (29): new helper: drm_ioctl_kernel() drm_compat_ioctl(): prepare for conversions to drm_ioctl_kernel() switch compat_drm_addbufs() to drm_ioctl_kernel() switch compat_drm_version() to drm_ioctl_kernel() switch compat_drm_getunique() to drm_ioctl_kernel() compat_drm_setunique(): don't bother switch compat_drm_getmap() to drm_ioctl_kernel() switch compat_drm_infobufs() to drm_ioctl_kernel() switch compat_drm_getclient() to drm_ioctl_kernel() switch compat_drm_getstats() to drm_ioctl_kernel() switch compat_drm_addmap() to drm_ioctl_kernel() switch compat_drm_markbufs() to drm_ioctl_kernel() switch compat_drm_freebufs() to drm_ioctl_kernel() switch compat_drm_setsareactx() to drm_ioctl_kernel() switch compat_drm_getsareactx() to drm_ioctl_kernel() switch compat_drm_resctx() to drm_ioctl_kernel() switch compat_drm_dma() to drm_ioctl_kernel() compat_drm: switch AGP compat ioctls to drm_ioctl_kernel() compat_drm: switch sg ioctls switch compat_drm_update_draw() switch compat_drm_wait_vblank() to drm_ioctl_kernel() switch compat_drm_mode_addfb2() to drm_ioctl_kernel() switch compat_drm_rmmap() to drm_ioctl_kernel() switch compat_drm_mapbufs() to drm_ioctl_kernel() drm_compat_ioctl(): tidy up a bit drm compat: ia64 is not biarch radeon: take out dead compat ioctls mga: switch compat ioctls to drm_ioctl_kernel() Fix trivial misannotations drivers/gpu/drm/drm_bufs.c | 116 +++--- drivers/gpu/drm/drm_internal.h | 3 + drivers/gpu/drm/drm_ioc32.c | 750 +++++++++++++--------------------- drivers/gpu/drm/drm_ioctl.c | 48 ++- drivers/gpu/drm/drm_legacy.h | 7 + drivers/gpu/drm/mga/mga_drv.h | 2 + drivers/gpu/drm/mga/mga_ioc32.c | 149 +++---- drivers/gpu/drm/mga/mga_state.c | 2 +- drivers/gpu/drm/radeon/Makefile | 1 - drivers/gpu/drm/radeon/radeon_drv.c | 18 +- drivers/gpu/drm/radeon/radeon_ioc32.c | 424 ------------------- include/drm/drm_ioctl.h | 1 + 12 files changed, 476 insertions(+), 1045 deletions(-) delete mode 100644 drivers/gpu/drm/radeon/radeon_ioc32.c