Skip to content
  1. Jan 25, 2011
  2. Jan 23, 2011
  3. Jan 21, 2011
    • Chris Wilson's avatar
      drm/i915/ringbuffer: Fix use of stale HEAD position whilst polling for space · c7dca47b
      Chris Wilson authored
      
      
      During suspend, Linus found that his machine would hang for 3 seconds,
      and identified that intel_ring_buffer_wait() was the culprit:
      
      "Because from looking at the code, I get the notion that
      "intel_read_status_page()" may not be exact. But what happens if that
      inexact value matches our cached ring->actual_head, so we never even
      try to read the exact case? Does it _stay_ inexact for arbitrarily
      long times? If so, we might wait for the ring to empty forever (well,
      until the timeout - the behavior I see), even though the ring really
      _is_ empty."
      
      As the reported HEAD position is only updated every time it crosses a
      64k boundary, whilst draining the ring it is indeed likely to remain one
      value. If that value matches the last known HEAD position, we never read
      the true value from the register and so trigger a timeout.
      
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      c7dca47b
  4. Jan 20, 2011
    • Chris Wilson's avatar
      drm/i915: Don't kick-off hangcheck after a DRI interrupt · 475553de
      Chris Wilson authored
      
      
      Hangcheck and error recovery is only used by GEM.
      
      Reported-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      475553de
    • Chris Wilson's avatar
      drm/i915: Add dependency on CONFIG_TMPFS · f7ab9b40
      Chris Wilson authored
      
      
      Without tmpfs, shmem_readpage() is not compiled in causing an OOPS as
      soon as we try to allocate some swappable pages for GEM.
      
      Jan 19 22:52:26 harlie kernel: Modules linked in: i915(+) drm_kms_helper cfbcopyarea video backlight cfbimgblt cfbfillrect
      Jan 19 22:52:26 harlie kernel:
      Jan 19 22:52:26 harlie kernel: Pid: 1125, comm: modprobe Not tainted 2.6.37Harlie #10 To be filled by O.E.M./To be filled by O.E.M.
      Jan 19 22:52:26 harlie kernel: EIP: 0060:[<00000000>] EFLAGS: 00010246 CPU: 3
      Jan 19 22:52:26 harlie kernel: EIP is at 0x0
      Jan 19 22:52:26 harlie kernel: EAX: 00000000 EBX: f7b7d000 ECX: f3383100 EDX: f7b7d000
      Jan 19 22:52:26 harlie kernel: ESI: f1456118 EDI: 00000000 EBP: f2303c98 ESP: f2303c7c
      Jan 19 22:52:26 harlie kernel:  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      Jan 19 22:52:26 harlie kernel: Process modprobe (pid: 1125, ti=f2302000 task=f259cd80 task.ti=f2302000)
      Jan 19 22:52:26 harlie kernel: Stack:
      Jan 19 22:52:26 harlie udevd-work[1072]: '/sbin/modprobe -b pci:v00008086d00000046sv00000000sd00000000bc03sc00i00' unexpected exit with status 0x0009
      Jan 19 22:52:26 harlie kernel:  c1074061 000000d0 f2f42b80 00000000 000a13d2 f2d5dcc0 00000001 f2303cac
      Jan 19 22:52:26 harlie kernel:  c107416f 00000000 000a13d2 00000000 f2303cd4 f8d620ed f2cee620 00001000
      Jan 19 22:52:26 harlie kernel:  00000000 000a13d2 f1456118 f2d5dcc0 f1a40000 00001000 f2303d04 f8d637ab
      Jan 19 22:52:26 harlie kernel: Call Trace:
      Jan 19 22:52:26 harlie kernel:  [<c1074061>] ? do_read_cache_page+0x71/0x160
      Jan 19 22:52:26 harlie kernel:  [<c107416f>] ? read_cache_page_gfp+0x1f/0x30
      Jan 19 22:52:26 harlie kernel:  [<f8d620ed>] ? i915_gem_object_get_pages+0xad/0x1d0 [i915]
      Jan 19 22:52:26 harlie kernel:  [<f8d637ab>] ? i915_gem_object_bind_to_gtt+0xeb/0x2d0 [i915]
      Jan 19 22:52:26 harlie kernel:  [<f8d65961>] ? i915_gem_object_pin+0x151/0x190 [i915]
      Jan 19 22:52:26 harlie kernel:  [<c11e16ed>] ? drm_gem_object_init+0x3d/0x60
      Jan 19 22:52:26 harlie kernel:  [<f8d65aa5>] ? i915_gem_init_ringbuffer+0x105/0x1e0 [i915]
      Jan 19 22:52:26 harlie kernel:  [<f8d571b7>] ? i915_driver_load+0x667/0x1160 [i915]
      
      Reported-by: default avatarJohn J. Stimson-III <john@idsfa.net>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@kernel.org
      f7ab9b40
    • Chris Wilson's avatar
      drm/i915: Initialise ring vfuncs for old DRI paths · e8616b6c
      Chris Wilson authored
      
      
      We weren't setting up the vfunc table when initialising the old DRI
      ringbuffer, leading to such OOPSes as:
      
      BUG: unable to handle kernel NULL pointer dereference at (null)
      IP: [<(null)>] (null)
      PGD 10c441067 PUD 1185e5067 PMD 0
      Oops: 0010 [#1] PREEMPT SMP
      last sysfs file: /sys/class/dmi/id/chassis_asset_tag
      CPU 3
      Modules linked in: i915 drm_kms_helper drm fb fbdev i2c_algo_bit
      cfbcopyarea video backlight output cfbimgblt cfbfillrect autofs4 ipv6
      nfs lockd fscache nfs_acl auth_rpcgss sunrpc coretemp hwmon_vid mousedev
      usbhid hid option usb_wwan snd_hda_codec_via asus_atk0110 atl1e
      usbserial snd_hda_intel snd_hda_codec firmware_class snd_hwdep snd_pcm
      snd_seq snd_timer snd_seq_device processor parport_pc thermal snd
      thermal_sys parport 8250_pnp button rng_core rtc_cmos shpchp hwmon
      rtc_core ehci_hcd pci_hotplug uhci_hcd soundcore tpm_tis i2c_i801
      rtc_lib tpm serio_raw snd_page_alloc tpm_bios i2c_core usbcore psmouse
      intel_agp sg pcspkr sr_mod evdev cdrom ext3 jbd mbcache dm_mod sd_mod
      ata_piix libata scsi_mod unix
      Jan 18 15:49:29 lithui kernel:
      Pid: 3605, comm: Xorg Not tainted 2.6.36.2 #5 P5KPL-CM/System Product
      Name
      RIP: 0010:[<0000000000000000>]  [<(null)>] (null)
      RSP: 0018:ffff8801150d1d40  EFLAGS: 00010202
      RAX: 000000000001ffff RBX: ffff88011a011b00 RCX: 000000000001a704
      RDX: ffff880118566028 RSI: ffff880118566028 RDI: ffff880117876800
      RBP: ffff8801150d1d48 R08: ffff8801195fe300 R09: 00000000c0086444
      R10: 0000000000000001 R11: 0000000000003206 R12: ffff880117876800
      R13: ffff880118566000 R14: ffff880117876820 R15: ffff8801150d1df8
      FS:  00007f1038d456e0(0000) GS:ffff880001780000(0000)
      knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000000 CR3: 00000001187e7000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process Xorg (pid: 3605, threadinfo ffff8801150d0000, task
      ffff88011b016e40)
      Stack:
      ffffffffa043b8e6 ffff8801150d1d98 ffffffffa041768b dead000000000000
      <0> 0000000000000048 00007f1023f2a000 0000000000000044 0000000000000008
      <0> ffff88010d26bd80 ffff880117876800 ffff8801150d1df8 ffff8801150d1ea8
      Call Trace:
      [<ffffffffa043b8e6>] ? intel_ring_advance+0x16/0x20 [i915]
      [<ffffffffa041768b>] i915_irq_emit+0x15b/0x240 [i915]
      [<ffffffffa03ea7b1>] drm_ioctl+0x1f1/0x460 [drm]
      [<ffffffffa0417530>] ? i915_irq_emit+0x0/0x240 [i915]
      [<ffffffff810dd8f1>] ? do_sync_read+0xd1/0x120
      [<ffffffff81025b1f>] ? do_page_fault+0x1df/0x3d0
      [<ffffffff810ed5c7>] do_vfs_ioctl+0x97/0x550
      [<ffffffff8115c2ea>] ? security_file_permission+0x7a/0x90
      [<ffffffff810edb19>] sys_ioctl+0x99/0xa0
      [<ffffffff810024ab>] system_call_fastpath+0x16/0x1b
      Code:  Bad RIP value.
      RIP  [<(null)>] (null)
      RSP <ffff8801150d1d40>
      CR2: 0000000000000000
      
      Reported-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Tested-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=29153
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=23172
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@kernel.org
      e8616b6c
  5. Jan 19, 2011
  6. Jan 18, 2011
    • Jesse Barnes's avatar
      drm/i915: set more FBC chicken bits · 1ffa325b
      Jesse Barnes authored
      
      
      Add a couple of missing workaround bits for ILK & SNB.  These disable
      clock gating on a couple of units that would otherwise prevent FBC from
      working.
      
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      1ffa325b
    • Andres Salomon's avatar
      staging: fix build failure in bcm driver · e6f597a1
      Andres Salomon authored
      While building latest Linus git, I hit the following:
      
          CC [M]  drivers/staging/bcm/Qos.o
        drivers/staging/bcm/Qos.c: In function ‘PruneQueue’:
        drivers/staging/bcm/Qos.c:367: error: ‘struct netdev_queue’ has no member named ‘tx_dropped’
        drivers/staging/bcm/Qos.c: In function ‘flush_all_queues’:
        drivers/staging/bcm/Qos.c:416: error: ‘struct netdev_queue’ has no member named ‘tx_dropped’
        make[5]: *** [drivers/staging/bcm/Qos.o] Error 1
        make[4]: *** [drivers/staging/bcm] Error 2
        make[3]: *** [drivers/staging] Error 2
      
      As well as:
      
          CC [M]  drivers/staging/bcm/Transmit.o
        drivers/staging/bcm/Transmit.c: In function ‘SetupNextSend’:
        drivers/staging/bcm/Transmit.c:163: error: ‘struct netdev_queue’ has no member named ‘tx_bytes’
        drivers/staging/bcm/Transmit.c:164: error: ‘struct netdev_queue’ has no member named ‘tx_packets’
        make[2]: *** [drivers/staging/bcm/Transmit.o] Error 1
      
      tx_dropped/tx_bytes_tx_packets were removed in commit 1ac9ad13
      
      .  This patch
      converts bcm to use net_device_stats instead of netdev_queue.
      
      Acked-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarAndres Salomon <dilinger@queued.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e6f597a1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 6845a44a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        RDMA: Update workqueue usage
        RDMA/nes: Fix incorrect SFP+ link status detection on driver init
        RDMA/nes: Fix SFP+ link down detection issue with switch port disable
        RDMA/nes: Generate IB_EVENT_PORT_ERR/PORT_ACTIVE events
        RDMA/nes: Fix bonding on iw_nes
        IB/srp: Test only once whether iu allocation succeeded
        IB/mlx4: Handle protocol field in multicast table
        RDMA: Use vzalloc() to replace vmalloc()+memset(0)
        mlx4_{core, ib, en}: Fix driver when sizeof (phys_addr_t) > sizeof (long)
        IB/mthca: Fix driver when sizeof (phys_addr_t) > sizeof (long)
      6845a44a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · eee2a817
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (25 commits)
        Btrfs: forced readonly mounts on errors
        btrfs: Require CAP_SYS_ADMIN for filesystem rebalance
        Btrfs: don't warn if we get ENOSPC in btrfs_block_rsv_check
        btrfs: Fix memory leak in btrfs_read_fs_root_no_radix()
        btrfs: check NULL or not
        btrfs: Don't pass NULL ptr to func that may deref it.
        btrfs: mount failure return value fix
        btrfs: Mem leak in btrfs_get_acl()
        btrfs: fix wrong free space information of btrfs
        btrfs: make the chunk allocator utilize the devices better
        btrfs: restructure find_free_dev_extent()
        btrfs: fix wrong calculation of stripe size
        btrfs: try to reclaim some space when chunk allocation fails
        btrfs: fix wrong data space statistics
        fs/btrfs: Fix build of ctree
        Btrfs: fix off by one while setting block groups readonly
        Btrfs: Add BTRFS_IOC_SUBVOL_GETFLAGS/SETFLAGS ioctls
        Btrfs: Add readonly snapshots support
        Btrfs: Refactor btrfs_ioctl_snap_create()
        btrfs: Extract duplicate decompress code
        ...
      eee2a817
    • Linus Torvalds's avatar
      Revert "mm: simplify code of swap.c" · 83896fb5
      Linus Torvalds authored
      This reverts commit d8505dee.
      
      Chris Mason ended up chasing down some page allocation errors and pages
      stuck waiting on the IO scheduler, and was able to narrow it down to two
      commits: commit 744ed144 ("mm: batch activate_page() to reduce lock
      contention") and d8505dee
      
       ("mm: simplify code of swap.c").
      
      This reverts the second one.
      
      Reported-and-debugged-by: default avatarChris Mason <chris.mason@oracle.com>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jens Axboe <jaxboe@fusionio.com>
      Cc: linux-mm <linux-mm@kvack.org>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Shaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      83896fb5
    • Linus Torvalds's avatar
      Revert "mm: batch activate_page() to reduce lock contention" · 7a608572
      Linus Torvalds authored
      This reverts commit 744ed144.
      
      Chris Mason ended up chasing down some page allocation errors and pages
      stuck waiting on the IO scheduler, and was able to narrow it down to two
      commits: commit 744ed144 ("mm: batch activate_page() to reduce lock
      contention") and d8505dee
      
       ("mm: simplify code of swap.c").
      
      This reverts the first of them.
      
      Reported-and-debugged-by: default avatarChris Mason <chris.mason@oracle.com>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jens Axboe <jaxboe@fusionio.com>
      Cc: linux-mm <linux-mm@kvack.org>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Shaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7a608572
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 · 9e8a462a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
        ecryptfs: remove unnecessary decrypt when extending a file
        ecryptfs: Fix ecryptfs_printk() size_t warnings
        fs/ecryptfs: Add printf format/argument verification and fix fallout
        ecryptfs: fixed testing of file descriptor flags
        ecryptfs: test lower_file pointer when lower_file_mutex is locked
        ecryptfs: missing initialization of the superblock 'magic' field
        ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h
        ecryptfs: fix truncation error in ecryptfs_read_update_atime
      9e8a462a
    • Geert Uytterhoeven's avatar
      xfs: Do not name variables "panic" · cf78859f
      Geert Uytterhoeven authored
      
      
      On platforms that call panic() inside their BUG() macro (m68k/sun3, and
      all platforms that don't set HAVE_ARCH_BUG), compilation fails with:
      
      | fs/xfs/support/debug.c: In function ‘xfs_cmn_err’:
      | fs/xfs/support/debug.c:92: error: called object ‘panic’ is not a function
      
      as the local variable "panic" conflicts with the "panic()" function.
      Rename the local variable to resolve this.
      
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cf78859f
    • liubo's avatar
      Btrfs: forced readonly mounts on errors · acce952b
      liubo authored
      
      
      This patch comes from "Forced readonly mounts on errors" ideas.
      
      As we know, this is the first step in being more fault tolerant of disk
      corruptions instead of just using BUG() statements.
      
      The major content:
      - add a framework for generating errors that should result in filesystems
        going readonly.
      - keep FS state in disk super block.
      - make sure that all of resource will be freed and released at umount time.
      - make sure that fter FS is forced readonly on error, there will be no more
        disk change before FS is corrected. For this, we should stop write operation.
      
      After this patch is applied, the conversion from BUG() to such a framework can
      happen incrementally.
      
      Signed-off-by: default avatarLiu Bo <liubo2009@cn.fujitsu.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      acce952b
    • Linus Torvalds's avatar
      Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 · 8c34482c
      Linus Torvalds authored
      * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
        spi/spi_sh_msiof: fix a wrong free_irq() parameter
        dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()
      8c34482c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 1a47f7a8
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: add cruid= mount option
        cifs: cFYI the entire error code in map_smb_to_linux_error
      1a47f7a8
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/mtd-2.6 · ab2020f2
      Linus Torvalds authored
      * git://git.infradead.org/mtd-2.6: (59 commits)
        mtd: mtdpart: disallow reading OOB past the end of the partition
        mtd: pxa3xx_nand: NULL dereference in pxa3xx_nand_probe
        UBI: use mtd->writebufsize to set minimal I/O unit size
        mtd: initialize writebufsize in the MTD object of a partition
        mtd: onenand: add mtd->writebufsize initialization
        mtd: nand: add mtd->writebufsize initialization
        mtd: cfi: add writebufsize initialization
        mtd: add writebufsize field to mtd_info struct
        mtd: OneNAND: OMAP2/3: prevent regulator sleeping while OneNAND is in use
        mtd: OneNAND: add enable / disable methods to onenand_chip
        mtd: m25p80: Fix JEDEC ID for AT26DF321
        mtd: txx9ndfmc: limit transfer bytes to 512 (ECC provides 6 bytes max)
        mtd: cfi_cmdset_0002: add support for Samsung K8D3x16UxC NOR chips
        mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips
        mtd: nand: ams-delta: drop omap_read/write, use ioremap
        mtd: m25p80: add debugging trace in sst_write
        mtd: nand: ams-delta: select for built-in by default
        mtd: OneNAND: lighten scary initial bad block messages
        mtd: OneNAND: OMAP2/3: add support for command line partitioning
        mtd: nand: rearrange ONFI revision checking, add ONFI 2.3
        ...
      
      Fix up trivial conflict in drivers/mtd/Kconfig as per DavidW.
      ab2020f2
    • Frank Swiderski's avatar
      ecryptfs: remove unnecessary decrypt when extending a file · 24562486
      Frank Swiderski authored
      
      
      Removes an unecessary page decrypt from ecryptfs_begin_write when the
      page is beyond the current file size. Previously, the call to
      ecryptfs_decrypt_page would result in a read of 0 bytes, but still
      attempt to decrypt an entire page. This patch detects that case and
      merely zeros the page before marking it up-to-date.
      
      Signed-off-by: default avatarFrank Swiderski <fes@chromium.org>
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      24562486
    • Tyler Hicks's avatar
      ecryptfs: Fix ecryptfs_printk() size_t warnings · f24b3887
      Tyler Hicks authored
      
      
      Commit cb55d21f6fa19d8c6c2680d90317ce88c1f57269 revealed a number of
      missing 'z' length modifiers in calls to ecryptfs_printk() when
      printing variables of type size_t. This patch fixes those compiler
      warnings.
      
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      f24b3887
    • Joe Perches's avatar
      fs/ecryptfs: Add printf format/argument verification and fix fallout · 888d57bb
      Joe Perches authored
      
      
      Add __attribute__((format... to __ecryptfs_printk
      Make formats and arguments match.
      Add casts to (unsigned long long) for %llu.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      [tyhicks: 80 columns cleanup and fixed typo]
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      888d57bb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 235646a4
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        fs: fix address space warnings in ioctl_fiemap()
        aio: check return value of create_workqueue()
        hpfs_setattr error case avoids unlock_kernel
        compat: copy missing fields in compat_statfs64 to user
        compat: update comment of compat statfs syscalls
        compat: remove unnecessary assignment in compat_rw_copy_check_uvector()
        fs: FS_POSIX_ACL does not depend on BLOCK
        fs: Remove unlikely() from fget_light()
        fs: Remove unlikely() from fput_light()
        fallocate should be a file operation
        make the feature checks in ->fallocate future proof
        staging: smbfs building fix
        tidy up around finish_automount()
        don't drop newmnt on error in do_add_mount()
        Take the completion of automount into new helper
      235646a4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6 · af575e2d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
        alpha: fix WARN_ON in __local_bh_enable()
        alpha: fix breakage caused by df9ee292
        alpha: add GENERIC_HARDIRQS_NO__DO_IRQ to Kconfig
        alpha/osf_sys: remove unused MAX_SELECT_SECONDS
        alpha: change to new Makefile flag variables
        alpha: kill off alpha_do_IRQ
        alpha: irq clean up
        alpha: use set_irq_chip and push down __do_IRQ to the machine types
      af575e2d
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 584ef2cd
      Linus Torvalds authored
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
        drm/radeon/kms: balance asic_reset functions
        drm/radeon/kms: remove duplicate card_posted() functions
        drm/radeon/kms: add module option for pcie gen2
        drm/radeon/kms: fix typo in evergreen safe reg
        drm/nouveau: fix gpu page faults triggered by plymouthd
        drm/nouveau: greatly simplify mm, killing some bugs in the process
        drm/nvc0: enable protection of system-use-only structures in vm
        drm/nv40: initialise 0x17xx on all chipsets that have it
        drm/nv40: make detection of 0x4097-ful chipsets available everywhere
      584ef2cd
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx · e1288cd7
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (63 commits)
        ARM: PL08x: cleanup comments
        Update CONFIG_MD_RAID6_PQ to CONFIG_RAID6_PQ in drivers/dma/iop-adma.c
        ARM: PL08x: fix a warning
        Fix dmaengine_submit() return type
        dmaengine: at_hdmac: fix race while monitoring channel status
        dmaengine: at_hdmac: flags located in first descriptor
        dmaengine: at_hdmac: use subsys_initcall instead of module_init
        dmaengine: at_hdmac: no need set ACK in new descriptor
        dmaengine: at_hdmac: trivial add precision to unmapping comment
        dmaengine: at_hdmac: use dma_address to program DMA hardware
        pch_dma: support new device ML7213 IOH
        ARM: PL08x: prevent dma_set_runtime_config() reconfiguring memcpy channels
        ARM: PL08x: allow dma_set_runtime_config() to return errors
        ARM: PL08x: fix locking between prepare function and submit function
        ARM: PL08x: introduce 'phychan_hold' to hold on to physical channels
        ARM: PL08x: put txd's on the pending list in pl08x_tx_submit()
        ARM: PL08x: rename 'desc_list' as 'pend_list'
        ARM: PL08x: implement unmapping of memcpy buffers
        ARM: PL08x: store prep_* flags in async_tx structure
        ARM: PL08x: shrink srcbus/dstbus in txd structure
        ...
      e1288cd7
    • Roberto Sassu's avatar
      ecryptfs: fixed testing of file descriptor flags · 0abe1169
      Roberto Sassu authored
      
      
      This patch replaces the check (lower_file->f_flags & O_RDONLY) with
      ((lower_file & O_ACCMODE) == O_RDONLY).
      
      Signed-off-by: default avatarRoberto Sassu <roberto.sassu@polito.it>
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      0abe1169
    • Roberto Sassu's avatar
      ecryptfs: test lower_file pointer when lower_file_mutex is locked · 27992890
      Roberto Sassu authored
      
      
      This patch prevents the lower_file pointer in the 'ecryptfs_inode_info'
      structure to be checked when the mutex 'lower_file_mutex' is not locked.
      
      Signed-off-by: default avatarRoberto Sassu <roberto.sassu@polito.it>
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      27992890
    • Roberto Sassu's avatar
      ecryptfs: missing initialization of the superblock 'magic' field · 070baa51
      Roberto Sassu authored
      
      
      This patch initializes the 'magic' field of ecryptfs filesystems to
      ECRYPTFS_SUPER_MAGIC.
      
      Signed-off-by: default avatarRoberto Sassu <roberto.sassu@polito.it>
      [tyhicks: merge with 66cb7666
      
      ]
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      070baa51
    • Guennadi Liakhovetski's avatar
      spi/spi_sh_msiof: fix a wrong free_irq() parameter · d95defac
      Guennadi Liakhovetski authored
      
      
      Without this fix reloading of the driver is impossible.
      
      Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      d95defac
    • Roberto Sassu's avatar
      ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h · 2a8652f4
      Roberto Sassu authored
      
      
      The definition of ECRYPTFS_SUPER_MAGIC has been moved to the include
      file 'linux/magic.h' to become available to other kernel subsystems.
      
      Signed-off-by: default avatarRoberto Sassu <roberto.sassu@polito.it>
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      2a8652f4
    • Edward Shishkin's avatar
      ecryptfs: fix truncation error in ecryptfs_read_update_atime · 38a708d7
      Edward Shishkin authored
      
      
      This is similar to the bug found in direct-io not so long ago.
      
      Fix up truncation (ssize_t->int).  This only matters with >2G
      reads/writes, which the kernel doesn't permit.
      
      Signed-off-by: default avatarEdward Shishkin <edward.shishkin@gmail.com>
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Eric Sandeen <esandeen@redhat.com>
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      38a708d7
  7. Jan 17, 2011
    • Artem Bityutskiy's avatar
      mtd: mtdpart: disallow reading OOB past the end of the partition · 154bf89f
      Artem Bityutskiy authored
      
      
      This patch fixes the mtdpart bug which allows users reading OOB past the
      end of the partition. This happens because 'part_read_oob()' allows reading
      multiple OOB areas in one go, and mtdparts does not validate the OOB
      length in the request.
      
      Although there is such check in 'nand_do_read_oob()' in nand_base.c, but
      it checks that we do not read past the flash chip, not the partition,
      because in nand_base.c we work with the whole chip (e.g., mtd->size
      in nand_base.c is the size of the whole chip). So this check cannot
      be done correctly in nand_base.c and should be instead done in mtdparts.c.
      
      This problem was reported by Jason Liu <r64343@freescale.com> and reproduced
      with nandsim:
      
      $ modprobe nandsim first_id_byte=0x20 second_id_byte=0xaa third_id_byte=0x00 \
                         fourth_id_byte=0x15 parts=0x400,0x400
      $ modprobe nandsim mtd_oobtest.ko dev=0
      $ dmesg
      = snip =
      mtd_oobtest: attempting to read past end of device
      mtd_oobtest: an error is expected...
      mtd_oobtest: error: read past end of device
      = snip =
      mtd_oobtest: finished with 2 errors
      
      Reported-by: default avatarJason Liu <liu.h.jason@gmail.com>
      Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      154bf89f
    • Namhyung Kim's avatar
      fs: fix address space warnings in ioctl_fiemap() · ecf5632d
      Namhyung Kim authored
      
      
      The fi_extents_start field of struct fiemap_extent_info is a
      user pointer but was not marked as __user. This makes sparse
      emit following warnings:
      
        CHECK   fs/ioctl.c
      fs/ioctl.c:114:26: warning: incorrect type in argument 1 (different address spaces)
      fs/ioctl.c:114:26:    expected void [noderef] <asn:1>*dst
      fs/ioctl.c:114:26:    got struct fiemap_extent *[assigned] dest
      fs/ioctl.c:202:14: warning: incorrect type in argument 1 (different address spaces)
      fs/ioctl.c:202:14:    expected void const volatile [noderef] <asn:1>*<noident>
      fs/ioctl.c:202:14:    got struct fiemap_extent *[assigned] fi_extents_start
      fs/ioctl.c:212:27: warning: incorrect type in argument 1 (different address spaces)
      fs/ioctl.c:212:27:    expected void [noderef] <asn:1>*dst
      fs/ioctl.c:212:27:    got char *<noident>
      
      Also add 'ufiemap' variable to eliminate unnecessary casts.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@gmail.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      ecf5632d
    • Namhyung Kim's avatar
      27eaa1c9
    • Dr. David Alan Gilbert's avatar
      hpfs_setattr error case avoids unlock_kernel · 274052ef
      Dr. David Alan Gilbert authored
      This fixed a case that 'sparse' spotted where hpfs_setattr has an error return
      that didn't go through it's path that unlocks.
      
      This is against git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
      version 6313e3c2
      
      .
      
      Build tested only, I don't have an hpfs file system to test.
      
      Dave
      
      Signed-off-by: default avatarDr. David Alan Gilbert <linux@treblig.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      274052ef