All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] VFS: turn no_llseek into the default
@ 2010-07-07 21:40 Arnd Bergmann
  2010-07-07 21:40 ` [PATCH 01/18] drm: use noop_llseek Arnd Bergmann
                   ` (17 more replies)
  0 siblings, 18 replies; 54+ messages in thread
From: Arnd Bergmann @ 2010-07-07 21:40 UTC (permalink / raw)
  To: linux-kernel
  Cc: John Kacur, Frederic Weisbecker, Arnd Bergmann, Christoph Hellwig

As I promised to Christoph Hellwig, this series
changes the default action for sys_llseek from
the traditional default_llseek to no_llseek,
disallowing users to seek files without a seek
operation, which is much more logical.

At the same time, this series makes it obvious
that the remaining users of the now explicitly
used default_llseek function do not require
the big kernel lock and we can consequently
replace it with i_mutex.

The bulk of the necessary changes is adding
a .llseek pointer to each and every
file_operation in the kernel using a coccinelle
semantic patch (patch 16 here). The semantic
patch only changes those cases that it can
prove to have an obviously correct replacement
operation, see the patch description for the
detailed rules it uses.

The remaining patches here are for the cases
that the semantic patch did not have an answer
for or that it did not find because it was
hidden in macros or in unexpected coding style.

I am confident that I have covered all users
in the current mainline kernel, but new
file_operations are already part of linux-next,
so the same semantic patch needs to be applied
to those.

The diffstat below intentionally covers only
the changes I did manually, leaving out patch
16.

	Arnd

Arnd Bergmann (18):
  drm: use noop_llseek
  net/wireless: use generic_file_llseek in debugfs
  lkdtm: use generic_file_llseek in debugfs
  ib/qib: use generic_file_llseek
  arm/omap: use generic_file_llseek in iommu_debug
  spufs: use llseek in all file operations
  staging: use llseek in all file operations
  selinux: use generic_file_llseek
  tracing: use generic_file_llseek for debugfs
  ibmasmfs: use generic_file_llseek
  oprofile: make event buffer nonseekable
  raw: use explicit llseek file operations
  ima: use generic_file_llseek for securityfs
  irda/irnet: use noop_llseek
  viotape: use noop_llseek
  llseek: automatically add .llseek fop
  vfs: don't use BKL in default_llseek
  vfs: make no_llseek the default

 Documentation/DocBook/drm.tmpl               |    1 
 arch/arm/plat-omap/iommu-debug.c             |    2 
 arch/powerpc/platforms/cell/spufs/file.c     |   24 ++++++++--
 drivers/char/raw.c                           |    2 
 drivers/char/viotape.c                       |    1 
 drivers/gpu/drm/i810/i810_drv.c              |    1 
 drivers/gpu/drm/i830/i830_drv.c              |    1 
 drivers/gpu/drm/i915/i915_drv.c              |    1 
 drivers/gpu/drm/mga/mga_drv.c                |    1 
 drivers/gpu/drm/nouveau/nouveau_drv.c        |    1 
 drivers/gpu/drm/r128/r128_drv.c              |    1 
 drivers/gpu/drm/radeon/radeon_drv.c          |    1 
 drivers/gpu/drm/savage/savage_drv.c          |    1 
 drivers/gpu/drm/sis/sis_drv.c                |    1 
 drivers/gpu/drm/tdfx/tdfx_drv.c              |    1 
 drivers/gpu/drm/via/via_drv.c                |    1 
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c          |    1 
 drivers/infiniband/hw/qib/qib_fs.c           |   18 +++----
 drivers/misc/ibmasm/ibmasmfs.c               |    4 +
 drivers/misc/iwmc3200top/debugfs.c           |    3 +
 drivers/misc/lkdtm.c                         |    9 +++
 drivers/net/wireless/b43/debugfs.c           |    1 
 drivers/net/wireless/b43legacy/debugfs.c     |    1 
 drivers/net/wireless/iwlwifi/iwl-debugfs.c   |    3 +
 drivers/net/wireless/libertas/debugfs.c      |    1 
 drivers/net/wireless/rt2x00/rt2x00debug.c    |    1 
 drivers/net/wireless/wl12xx/wl1251_debugfs.c |    2 
 drivers/net/wireless/wl12xx/wl1271_debugfs.c |    2 
 drivers/oprofile/event_buffer.c              |    3 -
 drivers/staging/msm/mdp4_debugfs.c           |   10 ----
 drivers/staging/panel/panel.c                |    3 -
 fs/read_write.c                              |    5 --
 kernel/trace/trace.c                         |   15 ++++++
 net/irda/irnet/irnet_ppp.h                   |    1 
 net/mac80211/debugfs.c                       |    2 
 net/mac80211/debugfs_key.c                   |    2 
 net/mac80211/debugfs_netdev.c                |    1 
 net/mac80211/debugfs_sta.c                   |    2 
 net/wireless/debugfs.c                       |    1 
 security/integrity/ima/ima_fs.c              |    9 ++-
 security/selinux/selinuxfs.c                 |   16 ++++++
 41 files changed, 129 insertions(+), 28 deletions(-)


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

end of thread, other threads:[~2010-07-26  9:06 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-07 21:40 [PATCH 00/18] VFS: turn no_llseek into the default Arnd Bergmann
2010-07-07 21:40 ` [PATCH 01/18] drm: use noop_llseek Arnd Bergmann
2010-07-07 21:40 ` [PATCH 02/18] net/wireless: use generic_file_llseek in debugfs Arnd Bergmann
2010-07-07 21:40 ` [PATCH 03/18] lkdtm: " Arnd Bergmann
2010-07-22  0:06   ` Frederic Weisbecker
     [not found] ` <1278538820-1392-1-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2010-07-07 21:40   ` [PATCH 04/18] ib/qib: use generic_file_llseek Arnd Bergmann
2010-07-07 21:40     ` Arnd Bergmann
     [not found]     ` <1278538820-1392-5-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2010-07-21 18:40       ` Roland Dreier
2010-07-21 18:40         ` Roland Dreier
2010-07-07 21:40 ` [PATCH 05/18] arm/omap: use generic_file_llseek in iommu_debug Arnd Bergmann
2010-07-07 21:40 ` [PATCH 06/18] spufs: use llseek in all file operations Arnd Bergmann
2010-07-07 21:40   ` Arnd Bergmann
2010-07-08  1:15   ` Jeremy Kerr
2010-07-08  1:15     ` Jeremy Kerr
2010-07-08 13:02     ` Arnd Bergmann
2010-07-08 13:02       ` Arnd Bergmann
2010-07-08 13:29       ` [PATCH v2] " Arnd Bergmann
2010-07-08 13:29         ` Arnd Bergmann
2010-07-07 21:40 ` [PATCH 07/18] staging: " Arnd Bergmann
2010-07-07 21:40 ` [PATCH 08/18] selinux: use generic_file_llseek Arnd Bergmann
2010-07-08 14:52   ` Eric Paris
2010-07-11 23:44   ` James Morris
2010-07-07 21:40 ` [PATCH 09/18] tracing: use generic_file_llseek for debugfs Arnd Bergmann
2010-07-07 21:58   ` Frederic Weisbecker
2010-07-21 20:52   ` [tip:perf/core] tracing: Use " tip-bot for Arnd Bergmann
2010-07-07 21:40 ` [PATCH 10/18] ibmasmfs: use generic_file_llseek Arnd Bergmann
2010-07-07 21:40 ` [PATCH 11/18] oprofile: make event buffer nonseekable Arnd Bergmann
2010-07-09  7:51   ` Robert Richter
2010-07-26  9:06   ` Robert Richter
2010-07-07 21:40 ` [PATCH 12/18] raw: use explicit llseek file operations Arnd Bergmann
2010-07-21 23:50   ` Frederic Weisbecker
2010-07-07 21:40 ` [PATCH 13/18] ima: use generic_file_llseek for securityfs Arnd Bergmann
2010-07-08 12:50   ` Mimi Zohar
2010-07-08 13:00     ` Arnd Bergmann
2010-07-08 13:18       ` Mimi Zohar
2010-07-08 22:52         ` James Morris
2010-07-09 13:00           ` Arnd Bergmann
2010-07-11 23:45   ` James Morris
2010-07-07 21:40 ` [PATCH 14/18] irda/irnet: use noop_llseek Arnd Bergmann
2010-07-07 21:40 ` [PATCH 15/18] viotape: " Arnd Bergmann
2010-07-21 23:59   ` Frederic Weisbecker
2010-07-07 21:40 ` [PATCH 16/18] llseek: automatically add .llseek fop Arnd Bergmann
2010-07-07 21:55   ` Mike Frysinger
2010-07-07 22:10     ` Arnd Bergmann
2010-07-08 12:17   ` Boaz Harrosh
2010-07-08 12:23     ` Arnd Bergmann
2010-07-08 12:32       ` Boaz Harrosh
2010-07-07 21:40 ` [PATCH 17/18] vfs: don't use BKL in default_llseek Arnd Bergmann
2010-07-07 21:40 ` [PATCH 18/18] vfs: make no_llseek the default Arnd Bergmann
2010-07-08 11:25   ` Tetsuo Handa
2010-07-08 12:08     ` Arnd Bergmann
2010-07-08 12:57       ` Tetsuo Handa
2010-07-08 13:18         ` Arnd Bergmann
2010-07-08 22:55         ` James Morris

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.