1. 19 Oct, 2010 4 commits
    • Arnd Bergmann's avatar
      dvb/bt8xx: kill the big kernel lock · adfedd21
      Arnd Bergmann authored
      The bt8xx driver only uses the big kernel lock in its dst_ca_ioctl
      function and never to serialize against other code, so we can
      trivially replace it with a private mutex.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: linux-media@vger.kernel.org
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      adfedd21
    • Arnd Bergmann's avatar
      tlclk: remove big kernel lock · efbec1cd
      Arnd Bergmann authored
      This driver already has a global mutex, so let's just
      use that in the open function instead of the BKL.
      It may not even be needed there, but this patch should
      have the smallest impact.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Mark Gross <mark.gross@intel.com>
      efbec1cd
    • Al Viro's avatar
      fix rawctl compat ioctls breakage on amd64 and itanic · c4a04727
      Al Viro authored
      RAW_SETBIND and RAW_GETBIND 32bit versions are fscked in interesting ways.
      
      1) fs/compat_ioctl.c has COMPATIBLE_IOCTL(RAW_SETBIND) followed by
      HANDLE_IOCTL(RAW_SETBIND, raw_ioctl).  The latter is ignored.
      
      2) on amd64 (and itanic) the damn thing is broken - we have int + u64 + u64
      and layouts on i386 and amd64 are _not_ the same.  raw_ioctl() would
      work there, but it's never called due to (1).  As it is, i386 /sbin/raw
      definitely doesn't work on amd64 boxen.
      
      3) switching to raw_ioctl() as is would *not* work on e.g. sparc64 and ppc64,
      which would be rather sad, seeing that normal userland there is 32bit.
      The thing is, slapping __packed on the struct in question does not DTRT -
      it eliminates *all* padding.  The real solution is to use compat_u64.
      
      4) of course, all that stuff has no business being outside of raw.c in the
      first place - there should be ->compat_ioctl() for /dev/rawctl instead of
      messing with compat_ioctl.c.
      
      [akpm@linux-foundation.org: coding-style fixes]
      [arnd@arndb.de: port to 2.6.36]
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      c4a04727
    • Arnd Bergmann's avatar
      uml: kill big kernel lock · 9a181c58
      Arnd Bergmann authored
      Three uml device drivers still use the big kernel lock,
      but all of them can be safely converted to using
      a per-driver mutex instead. Most likely this is not
      even necessary, so after further review these can
      and should be removed as well.
      
      The exec system call no longer requires the BKL either,
      so remove it from there, too.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: user-mode-linux-devel@lists.sourceforge.net
      9a181c58
  2. 16 Oct, 2010 1 commit
    • Arnd Bergmann's avatar
      parisc: remove big kernel lock · fa0d4c26
      Arnd Bergmann authored
      The parisc version of the perf code is sufficiently
      protected by its own spinlock, no need to use the BKL.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: linux-parisc@vger.kernel.org
      fa0d4c26
  3. 26 Sep, 2010 4 commits
    • Arnd Bergmann's avatar
      cris: autoconvert trivial BKL users · 0890b588
      Arnd Bergmann authored
      All uses of the big kernel lock in the cris architecture
      are for ioctl and open functions of character device drivers,
      which can be trivially converted to a per-driver mutex.
      
      Most of these are probably unnecessary, so it may make sense
      to audit them and eventually remove the extra mutex introduced
      by this patch.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: linux-cris-kernel@axis.com
      0890b588
    • Arnd Bergmann's avatar
      alpha: kill big kernel lock · 80eb4a6f
      Arnd Bergmann authored
      All uses of the BKL on alpha are totally bogus, nothing
      is really protected by this. Remove the remaining users
      so we don't have to mark alpha as 'depends on BKL'.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: linux-alpha@vger.kernel.org
      80eb4a6f
    • Arnd Bergmann's avatar
      isapnp: BKL removal · 6117d213
      Arnd Bergmann authored
      Remove BKL use from isapnp_proc_bus_lseek(), like was done for
      proc_bus_pci_lseek() a long time ago and recently for Zorro
      by Geert Uytterhoeven.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Jaroslav Kysela <perex@perex.cz>
      6117d213
    • Arnd Bergmann's avatar
      s390/block: kill the big kernel lock · cfdb00a7
      Arnd Bergmann authored
      The dasd and dcssblk drivers gained the big
      kernel lock in the recent pushdown from the
      block layer, but they don't really need it,
      so remove the calls without a replacement.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux-s390@vger.kernel.org
      cfdb00a7
  4. 15 Sep, 2010 1 commit
    • Arnd Bergmann's avatar
      hpet: kill BKL, add compat_ioctl · 54066a57
      Arnd Bergmann authored
      hpet uses the big kernel lock in its ioctl and open
      functions. Replace this with a private mutex to be
      sure. Since we're already touching the ioctl function,
      add the compat_ioctl version as well -- all commands
      except HPET_INFO are compatible and that one is easy
      to add.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Clemens Ladisch <clemens@ladisch.de>
      Cc: Bob Picco <bob.picco@hp.com>
      54066a57
  5. 12 Sep, 2010 1 commit
  6. 11 Sep, 2010 13 commits
  7. 10 Sep, 2010 16 commits