All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/25] reduce code in fs/compat_ioctl.c
@ 2005-11-05 16:26 ` Arnd Bergmann
  0 siblings, 0 replies; 73+ messages in thread
From: Arnd Bergmann @ 2005-11-05 16:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: video4linux-list, linux-parport, zippel, rmk+serial, ext2-devel,
	Kai.Makisara, netdev, linux-mtd, bluez-devel, hpa, urban,
	samba-technical, Christoph Hellwig, tim, chas, osst,
	linux-usb-devel, linux-scsi, linux-atm-general, reiserfs-dev,
	lm-sensors, sfrench, vandrove, gadio, linux-serial, dgilbert,
	osst-users, James.Bottomley, emoenke, nathans, marcel,
	schwidefsky, maxk, packet-writing

On Sünnavend 05 November 2005 00:51, Christoph Hellwig wrote:
> On Sat, Nov 05, 2005 at 12:10:46AM +0100, Arnd Bergmann wrote:
> >
> > BTW, I now have a set of 25 patches that moves all handlers from
> > fs/compat_ioctl.c over to the respective drivers and subsystems,
> > but I'm not sure how to best test that.
> > I intend to at least give it a test run on my Opteron for the whatever
> > ioctls I normally use, but the rest is just guesswork. Christoph,
> > can you review those patches?
> 
> I'm not sure moving everything from fs/compat_ioctl.c is a good idea.
> Everything that is just in a single driver or subsystem that has
> common ioctl code - sure.  else it doesn't make a lot of sense.

Ok, here is my full set of patches, let's see which ones are
sensible and which ones we are better off without.

Getting rid of fs/compat_ioctl.c completely could at least simplify
the compat_sys_ioctl() code a bit and would also make sure that
we only build the handlers into the kernel that can be used
potentially, which reduces the binary size.

The patch set is still largely untested, except for a single
compile test, but at least some of the patches are very simple,
so maybe I can get a quick ack or nack on them.

In general, I'm just moving over the handlers to the respective
subsystem without changing the logic, so the patch should not
have any effect on the ioctl operation itself, but it also
means that the handlers still use compat_alloc_user_space
or get_fs/set_fs when it's not really necessary.

	Arnd <><

 drivers/block/ioctl.c                       |  549 +++++
 drivers/block/loop.c                        |   76
 drivers/block/paride/pcd.c                  |    1
 drivers/block/paride/pd.c                   |    1
 drivers/block/paride/pt.c                   |    1
 drivers/block/pktcdvd.c                     |   20
 drivers/bluetooth/hci_ldisc.c               |   22
 drivers/cdrom/Makefile                      |    2
 drivers/cdrom/aztcd.c                       |    1
 drivers/cdrom/cdu31a.c                      |    1
 drivers/cdrom/cm206.c                       |    1
 drivers/cdrom/compat.c                      |  163 +
 drivers/cdrom/gscd.c                        |    1
 drivers/cdrom/mcdx.c                        |    1
 drivers/cdrom/optcd.c                       |    1
 drivers/cdrom/sbpcd.c                       |    1
 drivers/cdrom/sjcd.c                        |    1
 drivers/cdrom/sonycd535.c                   |    2
 drivers/char/Makefile                       |    1
 drivers/char/compat_mtio.c                  |   81
 drivers/char/ftape/zftape/zftape-init.c     |    1
 drivers/char/n_tty.c                        |    1
 drivers/char/raw.c                          |   91
 drivers/char/tty_io.c                       |  191 +
 drivers/char/viotape.c                      |    1
 drivers/char/vt.c                           |    3
 drivers/char/vt_ioctl.c                     |  195 +
 drivers/i2c/i2c-dev.c                       |  141 +
 drivers/ide/ide-cd.c                        |    1
 drivers/ide/ide-floppy.c                    |    1
 drivers/ide/ide-tape.c                      |    1
 drivers/media/radio/miropcm20-radio.c       |    1
 drivers/media/radio/radio-aimslab.c         |    1
 drivers/media/radio/radio-aztech.c          |    1
 drivers/media/radio/radio-cadet.c           |    1
 drivers/media/radio/radio-gemtek-pci.c      |    1
 drivers/media/radio/radio-gemtek.c          |    1
 drivers/media/radio/radio-maestro.c         |    1
 drivers/media/radio/radio-maxiradio.c       |    1
 drivers/media/radio/radio-rtrack2.c         |    1
 drivers/media/radio/radio-sf16fmi.c         |    1
 drivers/media/radio/radio-sf16fmr2.c        |    1
 drivers/media/radio/radio-terratec.c        |    1
 drivers/media/radio/radio-trust.c           |    1
 drivers/media/radio/radio-typhoon.c         |    1
 drivers/media/radio/radio-zoltrix.c         |    1
 drivers/media/video/Makefile                |    2
 drivers/media/video/arv.c                   |    1
 drivers/media/video/bttv-driver.c           |    1
 drivers/media/video/bw-qcam.c               |    1
 drivers/media/video/c-qcam.c                |    1
 drivers/media/video/compat_ioctl.c          |  318 +++
 drivers/media/video/cpia.c                  |    1
 drivers/media/video/cx88/cx88-video.c       |    2
 drivers/media/video/meye.c                  |    1
 drivers/media/video/pms.c                   |    1
 drivers/media/video/saa5249.c               |    1
 drivers/media/video/saa7134/saa7134-video.c |    2
 drivers/media/video/stradis.c               |    1
 drivers/media/video/w9966.c                 |    1
 drivers/media/video/zoran_driver.c          |    1
 drivers/media/video/zr36120.c               |    1
 drivers/mtd/mtdchar.c                       |   94
 drivers/net/ppp_generic.c                   |  179 +
 drivers/s390/char/tape_char.c               |    1
 drivers/scsi/osst.c                         |    2
 drivers/scsi/sg.c                           |  154 +
 drivers/scsi/sr.c                           |    1
 drivers/scsi/st.c                           |    2
 drivers/usb/core/devio.c                    |  139 +
 drivers/usb/media/dsbr100.c                 |    1
 drivers/usb/media/ov511.c                   |    1
 drivers/usb/media/pwc/pwc-if.c              |    1
 drivers/usb/media/se401.c                   |    1
 drivers/usb/media/stv680.c                  |    1
 drivers/usb/media/usbvideo.c                |    1
 drivers/usb/media/vicam.c                   |    1
 drivers/usb/media/w9968cf.c                 |    1
 drivers/video/fbmem.c                       |  147 +
 fs/autofs/root.c                            |   35
 fs/autofs4/root.c                           |   41
 fs/block_dev.c                              |   10
 fs/cifs/cifsfs.c                            |   10
 fs/cifs/cifsfs.h                            |    2
 fs/cifs/ioctl.c                             |   29
 fs/compat.c                                 |   27
 fs/compat_ioctl.c                           | 2918 ----------------------------
 fs/ext2/dir.c                               |    3
 fs/ext2/ext2.h                              |    1
 fs/ext2/file.c                              |    6
 fs/ext2/ioctl.c                             |   31
 fs/ext3/dir.c                               |    3
 fs/ext3/file.c                              |    3
 fs/ext3/ioctl.c                             |   66
 fs/fat/dir.c                                |   54
 fs/hfsplus/dir.c                            |    4
 fs/hfsplus/hfsplus_fs.h                     |    4
 fs/hfsplus/inode.c                          |    4
 fs/hfsplus/ioctl.c                          |   29
 fs/ncpfs/dir.c                              |    3
 fs/ncpfs/file.c                             |    4
 fs/ncpfs/ioctl.c                            |  241 ++
 fs/reiserfs/dir.c                           |    3
 fs/reiserfs/file.c                          |    4
 fs/reiserfs/ioctl.c                         |   36
 fs/smbfs/dir.c                              |    4
 fs/smbfs/file.c                             |    4
 fs/smbfs/ioctl.c                            |   16
 fs/smbfs/proto.h                            |    1
 fs/xfs/linux-2.6/xfs_ioctl32.c              |   15
 include/linux/cdrom.h                       |    2
 include/linux/compat_ioctl.h                |  387 ---
 include/linux/ext2_fs.h                     |    7
 include/linux/ext3_fs.h                     |    1
 include/linux/fs.h                          |    3
 include/linux/ioctl32.h                     |    2
 include/linux/mtio.h                        |   12
 include/linux/ncp_fs.h                      |    1
 include/linux/net.h                         |    2
 include/linux/reiserfs_fs.h                 |    9
 include/linux/socket.h                      |    4
 include/linux/tty.h                         |    2
 include/linux/tty_driver.h                  |    4
 include/linux/tty_ldisc.h                   |    2
 include/linux/videodev.h                    |    2
 include/net/sock.h                          |    9
 net/atm/common.h                            |    1
 net/atm/ioctl.c                             |  167 +
 net/atm/pvc.c                               |    3
 net/atm/svc.c                               |    3
 net/bluetooth/bnep/sock.c                   |    1
 net/bluetooth/cmtp/sock.c                   |    1
 net/bluetooth/hci_sock.c                    |    1
 net/bluetooth/hidp/sock.c                   |    1
 net/bluetooth/rfcomm/sock.c                 |    1
 net/compat.c                                | 1456 +++++++++----
 net/socket.c                                |    7
 137 files changed, 4527 insertions(+), 3807 deletions(-)


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 73+ messages in thread

end of thread, other threads:[~2005-11-12 14:35 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-05 16:26 [PATCH 00/25] reduce code in fs/compat_ioctl.c Arnd Bergmann
2005-11-05 18:06 ` [lm-sensors] " Arnd Bergmann
2005-11-05 16:26 ` Arnd Bergmann
2005-11-05 16:26 ` Arnd Bergmann
2005-11-05 16:26 ` [PATCH 01/25] compat: Remove leftovers from register_ioctl32_conversion Arnd Bergmann
2005-11-05 16:44   ` Al Viro
2005-11-05 17:04   ` Andi Kleen
2005-11-05 16:26 ` [PATCH 02/25] net: move socket ioctl32 to net/compat.c Arnd Bergmann
2005-11-05 16:26 ` [PATCH 03/25] net: improve ioctl32 dev_ioctl handling Arnd Bergmann
2005-11-05 16:26 ` [PATCH 04/25] net: move atm ioctl32 to net/atm/ioctl.c Arnd Bergmann
2005-11-05 16:26 ` [PATCH 05/25] net: move ppp specific ioctl32 handlers Arnd Bergmann
2005-11-05 16:26   ` Arnd Bergmann
2005-11-05 16:26 ` [PATCH 06/25] mtd: move ioctl32 code to mtdchar.c Arnd Bergmann
2005-11-05 16:26   ` Arnd Bergmann
2005-11-08 10:59   ` Jörn Engel
2005-11-08 10:59     ` Jörn Engel
2005-11-08 18:10     ` Eric W. Biederman
2005-11-08 18:10       ` Eric W. Biederman
2005-11-08 18:33       ` Jörn Engel
2005-11-08 18:33         ` Jörn Engel
2005-11-08 18:45         ` Josh Boyer
2005-11-08 18:45           ` Josh Boyer
2005-11-08 18:57         ` Thomas Gleixner
2005-11-08 18:57           ` Thomas Gleixner
2005-11-08 22:21           ` Jörn Engel
2005-11-08 22:21             ` Jörn Engel
2005-11-09  0:04             ` Thomas Gleixner
2005-11-08 19:03         ` David Woodhouse
2005-11-08 19:03           ` David Woodhouse
2005-11-09 15:37         ` Eric W. Biederman
2005-11-09 15:37           ` Eric W. Biederman
2005-11-09 15:48           ` Jörn Engel
2005-11-09 15:48             ` Jörn Engel
2005-11-05 16:26 ` [PATCH 07/25] block: move ioctl32 code to drivers/block/ioctl.c Arnd Bergmann
2005-11-05 16:26 ` [PATCH 08/25] tty: move ioctl32 code over to vt_ioctl.c and tty_io.c Arnd Bergmann
2005-11-05 16:26 ` [PATCH 09/25] v4l: move ioctl32 handlers to drivers/media/ Arnd Bergmann
2005-11-06  4:13   ` Mauro Carvalho Chehab
2005-11-07 10:17     ` Arnd Bergmann
2005-11-12 14:35       ` Mauro Carvalho Chehab
2005-11-05 16:27 ` [PATCH 10/25] fs: move ext2 ioctl32 handlers into file systems Arnd Bergmann
2005-11-06  4:39   ` Christoph Hellwig
2005-11-07 10:24     ` Arnd Bergmann
2005-11-05 16:27 ` [PATCH 11/25] framebuffer: move ioctl32 code to fbmem.c Arnd Bergmann
2005-11-06  0:16   ` Antonino A. Daplas
2005-11-06  0:16     ` Antonino A. Daplas
2005-11-05 16:27 ` [PATCH 12/25] scsi: move SG_IO ioctl32 code to sg.c Arnd Bergmann
2005-11-05 16:44   ` James Bottomley
2005-11-05 19:19     ` Arnd Bergmann
2005-11-05 16:27 ` [PATCH 13/25] loop: move ioctl32 code to loop.c Arnd Bergmann
2005-11-07  3:33   ` Christoph Hellwig
2005-11-05 16:27 ` [PATCH 14/25] smbfs: simplify compat_ioctl handling Arnd Bergmann
2005-11-05 16:27 ` [PATCH 15/25] autofs: move ioctl32 to autofs{,4}/root.c Arnd Bergmann
2005-11-06  6:22   ` Ian Kent
2005-11-07 10:36     ` Arnd Bergmann
2005-11-07 16:02       ` Ian Kent
2005-11-08 16:23         ` Ian Kent
2005-11-05 16:27 ` [PATCH 16/25] ncpfs: move ioctl32 code to fs/ncpfs/ioctl.c Arnd Bergmann
2005-11-05 16:27 ` [PATCH 17/25] vfat: move ioctl32 code to fs/fat/dir.c Arnd Bergmann
2005-11-06 12:05   ` OGAWA Hirofumi
2005-11-07 10:41     ` Arnd Bergmann
2005-11-07  3:37   ` Christoph Hellwig
2005-11-07 10:42     ` Arnd Bergmann
2005-11-05 16:27 ` [PATCH 18/25] raw: move ioctl32 code to raw.c Arnd Bergmann
2005-11-06 13:59   ` Adrian Bunk
2005-11-07 10:43     ` Arnd Bergmann
2005-11-05 16:27 ` [PATCH 19/25] usbdevfs: move ioctl32 into devio.c Arnd Bergmann
2005-11-05 16:27 ` [PATCH 20/25] i2c: move ioctl32 code to i2c-dev.c Arnd Bergmann
2005-11-05 17:35   ` [lm-sensors] " Arnd Bergmann
2005-11-05 16:27 ` [PATCH 21/25] reiserfs: remove ioctl conversion code Arnd Bergmann
2005-11-05 16:27 ` [PATCH 22/25] serial: move ioctl32 code to tty_io.c Arnd Bergmann
2005-11-05 16:27 ` [PATCH 23/25] cdrom: move ioctl32 code to drivers/cdrom/compat.c Arnd Bergmann
2005-11-05 16:27 ` [PATCH 24/25] tape: move mtio ioctl32 code to driver/char/compat_mtio.c Arnd Bergmann
2005-11-05 16:27 ` [PATCH 25/25] bluetooth: integrate ioctl32 handling Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.