1. 19 10月, 2010 2 次提交
    • A
      fix rawctl compat ioctls breakage on amd64 and itanic · c4a04727
      Al Viro 提交于
      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: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      c4a04727
    • A
      uml: kill big kernel lock · 9a181c58
      Arnd Bergmann 提交于
      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: NArnd Bergmann <arnd@arndb.de>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: user-mode-linux-devel@lists.sourceforge.net
      9a181c58
  2. 17 10月, 2010 1 次提交
    • A
      parisc: remove big kernel lock · fa0d4c26
      Arnd Bergmann 提交于
      The parisc version of the perf code is sufficiently
      protected by its own spinlock, no need to use the BKL.
      Signed-off-by: NArnd 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 9月, 2010 4 次提交
    • A
      cris: autoconvert trivial BKL users · 0890b588
      Arnd Bergmann 提交于
      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: NArnd Bergmann <arnd@arndb.de>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: linux-cris-kernel@axis.com
      0890b588
    • A
      alpha: kill big kernel lock · 80eb4a6f
      Arnd Bergmann 提交于
      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: NArnd 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
    • A
      isapnp: BKL removal · 6117d213
      Arnd Bergmann 提交于
      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: NArnd Bergmann <arnd@arndb.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Jaroslav Kysela <perex@perex.cz>
      6117d213
    • A
      s390/block: kill the big kernel lock · cfdb00a7
      Arnd Bergmann 提交于
      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: NArnd 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. 16 9月, 2010 1 次提交
    • A
      hpet: kill BKL, add compat_ioctl · 54066a57
      Arnd Bergmann 提交于
      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: NArnd Bergmann <arnd@arndb.de>
      Cc: Clemens Ladisch <clemens@ladisch.de>
      Cc: Bob Picco <bob.picco@hp.com>
      54066a57
  5. 13 9月, 2010 1 次提交
  6. 12 9月, 2010 6 次提交
  7. 11 9月, 2010 8 次提交
  8. 10 9月, 2010 17 次提交