vfs.git pile 6
Al Viro
maintainer[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
Quoted 1 line · Al Viro
[6 more piles tonight with several more left for tomorrow]
Tiny side note (since I'm starting to look at this pile soon): it would be nice if your subject line had the very short "this is what it's about" thing to it too.
I don't mind the numbering at all, but it would be good if the subject was something like
[git pull] vfs.git pile 6: DRM compat ioctl handling
and then I'd have the summary for my initial explanation line:
Pull DRM compat ioctl handling updates from Al Viro:
"... full explanation goes here ..."
because as it is, I often end up in MakeShitUp(tm) mode.
Anyway, your current pull requests are fine too, and not really a problem.
I'd just thought I'd mention this small convenience when I get the summary there. And I just like seeing it in my subject list, because that is the overview of what I have pending when I do my usual mailbox search criteria for "git pull".
Linus