1. 27 Apr, 2010 12 commits
  2. 26 Apr, 2010 5 commits
    • David Miller's avatar
      drm/radeon: Fix sparc regression in r300_scratch() · 88b04507
      David Miller authored
      Commit b4fe9454 ("drm/radeon: Fix
      memory allocation failures in the preKMS command stream checking.")
      added a regression in that it completely tossed the get_unaligned()
      done by r300_scratch() which we added in commit
      958a6f8c ("drm: radeon: Fix unaligned
      access in r300_scratch().").
      
      Put it back.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Acked-by: default avatarMatt Turner <mattst88@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      88b04507
    • Jesse Barnes's avatar
      drm: make sure vblank interrupts are disabled at DPMS time · e32ee7fa
      Jesse Barnes authored
      When we call drm_vblank_off() at DPMS off time (to wake any clients so
      they don't hang) we need to make sure interrupts are actually disabled.
      If drm_vblank_off() gets called before the vblank usage timer expires,
      it'll prevent the timer from disabling interrupts since it also clears
      the vblank_enabled flag for the pipe.
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      e32ee7fa
    • Neil Brown's avatar
      nfsd4: bug in read_buf · 2bc3c117
      Neil Brown authored
      When read_buf is called to move over to the next page in the pagelist
      of an NFSv4 request, it sets argp->end to essentially a random
      number, certainly not an address within the page which argp->p now
      points to.  So subsequent calls to READ_BUF will think there is much
      more than a page of spare space (the cast to u32 ensures an unsigned
      comparison) so we can expect to fall off the end of the second
      page.
      
      We never encountered thsi in testing because typically the only
      operations which use more than two pages are write-like operations,
      which have their own decoding logic.  Something like a getattr after a
      write may cross a page boundary, but it would be very unusual for it to
      cross another boundary after that.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      2bc3c117
    • Dave Chinner's avatar
      xfs: more swap extent fixes for dynamic fork offsets · dd77ef92
      Dave Chinner authored
      A new xfsqa test (226) with a prototype xfs_fsr change to try to
      handle dynamic fork offsets better triggers an assertion failure
      where the inode data fork is in btree format, yet there is room in
      the inode for it to be in extent format. The two inodes look like:
      
      before: ino 0x101 (target), num_extents 11, Max in-fork extents 6, broot size 40, fork offset 96
      before: ino 0x115 (temp),  num_extents 5, Max in-fork extents 3, broot size 40, fork offset 56
      after: ino 0x101 (target), num_extents 5, Max in-fork extents 6, broot size 40, fork offset 96
      after: ino 0x115 (temp), num_extents 11, Max in-fork extents 3, broot size 40, fork offset 56
      
      Basically the target inode ends up with 5 extents in btree format,
      but it had space for 6 extents in extent format, so ends up
      incorrect. Notably here the broot size is the same, and that is
      where the kernel code is going wrong - the btree root will fit, so
      it lets the swap go ahead.
      
      The check should not allow the swap to take place if the number of
      extents while in btree format is less than the number of extents
      that can fit in the inode in extent format. Adding that check will
      prevent this swap and corruption from occurring.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      dd77ef92
    • Herbert Xu's avatar
      crypto: authenc - Add EINPROGRESS check · 180ce7e8
      Herbert Xu authored
      When Steffen originally wrote the authenc async hash patch, he
      correctly had EINPROGRESS checks in place so that we did not invoke
      the original completion handler with it.
      
      Unfortuantely I told him to remove it before the patch was applied.
      
      As only MAY_BACKLOG request completion handlers are required to
      handle EINPROGRESS completions, those checks are really needed.
      
      This patch restores them.
      Reported-by: default avatarSebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      180ce7e8
  3. 25 Apr, 2010 7 commits
  4. 24 Apr, 2010 16 commits