1. 22 7月, 2009 3 次提交
    • T
      NFSv4: Fix a problem whereby a buggy server can oops the kernel · d953126a
      Trond Myklebust 提交于
      We just had a case in which a buggy server occasionally returns the wrong
      attributes during an OPEN call. While the client does catch this sort of
      condition in nfs4_open_done(), and causes the nfs4_atomic_open() to return
      -EISDIR, the logic in nfs_atomic_lookup() is broken, since it causes a
      fallback to an ordinary lookup instead of just returning the error.
      
      When the buggy server then returns a regular file for the fallback lookup,
      the VFS allows the open, and bad things start to happen, since the open
      file doesn't have any associated NFSv4 state.
      
      The fix is firstly to return the EISDIR/ENOTDIR errors immediately, and
      secondly to ensure that we are always careful when dereferencing the
      nfs_open_context state pointer.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d953126a
    • T
      NFSv4: Fix an NFSv4 mount regression · fccba804
      Trond Myklebust 提交于
      Commit 008f55d0 (nfs41: recover lease in
      _nfs4_lookup_root) forces the state manager to always run on mount. This is
      a bug in the case of NFSv4.0, which doesn't require us to send a
      setclientid until we want to grab file state.
      
      In any case, this is completely the wrong place to be doing state
      management. Moving that code into nfs4_init_session...
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      fccba804
    • T
      NFSv4: Fix an Oops in nfs4_free_lock_state · b64aec8d
      Trond Myklebust 提交于
      The oops http://www.kerneloops.org/raw.php?rawid=537858&msgid= appears to
      be due to the nfs4_lock_state->ls_state field being uninitialised. This
      happens if the call to nfs4_free_lock_state() is triggered at the end of
      nfs4_get_lock_state().
      
      The fix is to move the initialisation of ls_state into the allocator.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      b64aec8d
  2. 21 7月, 2009 10 次提交
  3. 19 7月, 2009 2 次提交
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a7571a5c
      Linus Torvalds 提交于
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: Realview & Versatile: Fix i2c_board_info definitions
        [ARM] 5608/1: Updated U300 defconfig
        [ARM] 5606/1: Fix ep93xx watchdog driver headers
        [ARM] 5594/1: Correct U300 VIC init PM setting
        [ARM] 5595/1: ep93xx: missing header in dma-m2p.c
        [ARM] Kirkwood: Correct header define
        [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines
        backlight: fix pwm_bl.c to notify platform code when suspending
        [ARM] pxa: use kzalloc() in pxa_init_gpio_chip()
        [ARM] pxa: correct I2CPWR clock for pxa3xx
        pxamci: correct DMA flow control
        ARM: add support for the EET board, based on the i.MX31 pcm037 module
        pcm037: add MT9T031 camera support
        Armadillo 500 add NAND flash device support (resend).
        ARM MXC: Armadillo 500 add NOR flash device support (resend).
        mx31: remove duplicated #include
      a7571a5c
    • R
      ARM: Realview & Versatile: Fix i2c_board_info definitions · 64e8be6e
      Russell King 提交于
      Fix i2c_board_info definitions - we were defining the 'type' field
      of these structures twice since the first argument of I2C_BOARD_INFO
      sets this field.  Move the second definition into I2C_BOARD_INFO().
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NJean Delvare <khali@linux-fr.org>
      Acked-by: NBen Dooks <ben-linux@fluff.org>
      64e8be6e
  4. 18 7月, 2009 8 次提交
  5. 17 7月, 2009 17 次提交