1. 30 3月, 2011 11 次提交
    • R
      nilfs2: fix oops due to a bad aops initialization · d611b22f
      Ryusuke Konishi 提交于
      Nilfs in 2.6.39-rc1 hit the following oops:
      
       BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
       IP: [<ffffffff810ac235>] try_to_release_page+0x2a/0x3d
       PGD 234cb6067 PUD 234c72067 PMD 0
       Oops: 0000 [#1] SMP
       <snip>
       Process truncate (pid: 10995, threadinfo ffff8802353c2000, task ffff880234cfa000)
       Stack:
        ffff8802333c77b8 ffffffff810b64b0 0000000000003802 ffffffffa0052cca
        0000000000000000 ffff8802353c3b58 0000000000000000 ffff8802353c3b58
        0000000000000001 0000000000000000 ffffea0007b92308 ffffea0007b92308
       Call Trace:
        [<ffffffff810b64b0>] ? invalidate_inode_pages2_range+0x15f/0x273
        [<ffffffffa0052cca>] ? nilfs_palloc_get_block+0x2d/0xaf [nilfs2]
        [<ffffffff810589e7>] ? bit_waitqueue+0x14/0xa1
        [<ffffffff81058ab1>] ? wake_up_bit+0x10/0x20
        [<ffffffffa00433fd>] ? nilfs_forget_buffer+0x66/0x7a [nilfs2]
        [<ffffffffa00467b8>] ? nilfs_btree_concat_left+0x5c/0x77 [nilfs2]
        [<ffffffffa00471fc>] ? nilfs_btree_delete+0x395/0x3cf [nilfs2]
        [<ffffffffa00449a3>] ? nilfs_bmap_do_delete+0x6e/0x79 [nilfs2]
        [<ffffffffa0045845>] ? nilfs_btree_last_key+0x14b/0x15e [nilfs2]
        [<ffffffffa00449dd>] ? nilfs_bmap_truncate+0x2f/0x83 [nilfs2]
        [<ffffffffa0044ab2>] ? nilfs_bmap_last_key+0x35/0x62 [nilfs2]
        [<ffffffffa003e99b>] ? nilfs_truncate_bmap+0x6b/0xc7 [nilfs2]
        [<ffffffffa003ee4a>] ? nilfs_truncate+0x79/0xe4 [nilfs2]
        [<ffffffff810b6c00>] ? vmtruncate+0x33/0x3b
        [<ffffffffa003e8f1>] ? nilfs_setattr+0x4d/0x8c [nilfs2]
        [<ffffffff81026106>] ? do_page_fault+0x31b/0x356
        [<ffffffff810f9d61>] ? notify_change+0x17d/0x262
        [<ffffffff810e5046>] ? do_truncate+0x65/0x80
        [<ffffffff810e52af>] ? sys_ftruncate+0xf1/0xf6
        [<ffffffff8132c012>] ? system_call_fastpath+0x16/0x1b
       Code: c3 48 83 ec 08 48 8b 17 48 8b 47 18 80 e2 01 75 04 0f 0b eb fe 48 8b 17 80 e6 20 74 05 31 c0 41 59 c3 48 85 c0 74 11 48 8b 40 58
        8b 40 48 48 85 c0 74 04 41 58 ff e0 59 e9 b1 b5 05 00 41 54
       RIP  [<ffffffff810ac235>] try_to_release_page+0x2a/0x3d
        RSP <ffff8802353c3b08>
       CR2: 0000000000000048
      
      This oops was brought in by the change "block: remove per-queue
      plugging" (commit: 7eaceacc).  It initializes mapping->a_ops
      with a NULL pointer for some pages in nilfs (e.g. btree node pages),
      but mm code doesn't NULL pointer checks against mapping->a_ops. (the
      check is done for each callback function)
      
      This corrects the aops initialization and fixes the oops.
      Signed-off-by: NRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Acked-by: NJens Axboe <jaxboe@fusionio.com>
      d611b22f
    • R
      nilfs2: fix data loss in mmap page write for hole blocks · 34094537
      Ryusuke Konishi 提交于
      From the result of a function test of mmap, mmap write to shared pages
      turned out to be broken for hole blocks.  It doesn't write out filled
      blocks and the data will be lost after umount.  This is due to a bug
      that the target file is not queued for log writer when filling hole
      blocks.
      
      Also, nilfs_page_mkwrite function exits normal code path even after
      successfully filled hole blocks due to a change of block_page_mkwrite
      function; just after nilfs was merged into the mainline,
      block_page_mkwrite() started to return VM_FAULT_LOCKED instead of zero
      by the patch "mm: close page_mkwrite races" (commit:
      b827e496).  The current nilfs_page_mkwrite() is not handling
      this value properly.
      
      This corrects nilfs_page_mkwrite() and will resolve the data loss
      problem in mmap write.
      
      [This should be applied to every kernel since 2.6.30 but a fix is
       needed for 2.6.37 and prior kernels]
      Signed-off-by: NRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Tested-by: NRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Cc: stable <stable@kernel.org>  [2.6.38]
      34094537
    • L
      Linux 2.6.39-rc1 · 0ce790e7
      Linus Torvalds 提交于
      0ce790e7
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 6b2a4f7a
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (26 commits)
        mmc: SDHI should depend on SUPERH || ARCH_SHMOBILE
        mmc: tmio_mmc: Move some defines into a shared header
        mmc: tmio: support aggressive clock gating
        mmc: tmio: fix power-mode interpretation
        mmc: tmio: remove work-around for unmasked SDIO interrupts
        sh: fix SDHI IO address-range
        ARM: mach-shmobile: fix SDHI IO address-range
        mmc: tmio: only access registers above 0xff, if available
        mfd: remove now redundant sh_mobile_sdhi.h header
        sh: convert boards to use linux/mmc/sh_mobile_sdhi.h
        ARM: mach-shmobile: convert boards to use linux/mmc/sh_mobile_sdhi.h
        mmc: tmio: convert the SDHI MMC driver from MFD to a platform driver
        sh: ecovec: use the CONFIG_MMC_TMIO symbols instead of MFD
        mmc: tmio: split core functionality, DMA and MFD glue
        mmc: tmio: use PIO for short transfers
        mmc: tmio-mmc: Improve DMA stability on sh-mobile
        mmc: fix mmc_app_send_scr() for dma transfer
        mmc: sdhci-esdhc: enable esdhc on imx53
        mmc: sdhci-esdhc: use writel/readl as general APIs
        mmc: sdhci: add the abort CMDTYPE bits definition
        ...
      6b2a4f7a
    • L
      Merge branch 'frv' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-frv · eefbab59
      Linus Torvalds 提交于
      * 'frv' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-frv:
        FRV: Use generic show_interrupts()
        FRV: Convert genirq namespace
        frv: Select GENERIC_HARDIRQS_NO_DEPRECATED
        frv: Convert cpu irq_chip to new functions
        frv: Convert mb93493 irq_chip to new functions
        frv: Convert mb93093 irq_chip to new function
        frv: Convert mb93091 irq_chip to new functions
        frv: Fix typo from __do_IRQ overhaul
        frv: Remove stale irq_chip.end
        FRV: Do some cleanups
        FRV: Missing node arg in alloc_thread_info_node() macro
        NOMMU: implement access_remote_vm
        NOMMU: support SMP dynamic percpu_alloc
        NOMMU: percpu should use is_vmalloc_addr().
      eefbab59
    • L
      Merge branch 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 90f1e748
      Linus Torvalds 提交于
      * 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen: Use new irq_move functions
        xen: Convert genirq namespace
        xen: fix p2m section mismatches
        xen/p2m: Allocate p2m tracking pages on override
        xen-gntdev: unlock on error path in gntdev_mmap()
        xen-gntdev: return -EFAULT on copy_to_user failure
      90f1e748
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · d6ae0c63
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry
        watchdog: fix nv_tco section mismatch
        watchdog: sp5100_tco.c: Check if firmware has set correct value in tcobase.
        watchdog: Convert release_resource to release_region/release_mem_region
        watchdog: s3c2410_wdt.c: Convert release_resource to release_region/release_mem_region
      d6ae0c63
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 8c82840e
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        amd64_edac: Fix potential memleak
      8c82840e
    • L
      Merge branch 'irq-final-for-linus-v2' of... · c86defc8
      Linus Torvalds 提交于
      Merge branch 'irq-final-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'irq-final-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (111 commits)
        gpio: ab8500: Mark broken
        genirq: Remove move_*irq leftovers
        genirq: Remove compat code
        drivers: Final irq namespace conversion
        mn10300: Use generic show_interrupts()
        mn10300: Cleanup irq_desc access
        mn10300: Convert genirq namespace
        frv: Use generic show_interrupts()
        frv: Convert genirq namespace
        frv: Select GENERIC_HARDIRQS_NO_DEPRECATED
        frv: Convert cpu irq_chip to new functions
        frv: Convert mb93493 irq_chip to new functions
        frv: Convert mb93093 irq_chip to new function
        frv: Convert mb93091 irq_chip to new functions
        frv: Fix typo from __do_IRQ overhaul
        frv: Remove stale irq_chip.end
        m68k: Convert irq function namespace
        xen: Use new irq_move functions
        xen: Cleanup genirq namespace
        unicore32: Use generic show_interrupts()
        ...
      c86defc8
    • P
      char/tpm: Fix unitialized usage of data buffer · 1309d7af
      Peter Huewe 提交于
      This patch fixes information leakage to the userspace by initializing
      the data buffer to zero.
      Reported-by: NPeter Huewe <huewe.external@infineon.com>
      Signed-off-by: NPeter Huewe <huewe.external@infineon.com>
      Signed-off-by: NMarcel Selhorst <m.selhorst@sirrix.com>
      [ Also removed the silly "* sizeof(u8)".  If that isn't 1, we have way
        deeper problems than a simple multiplication can fix.   - Linus ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1309d7af
    • B
      amd64_edac: Fix potential memleak · a9f0fbe2
      Borislav Petkov 提交于
      We check the pointers together but at least one of them could be invalid
      due to failed allocation. Since we cannot continue if either of the two
      allocations has failed, exit early by freeing them both.
      
      Cc: <stable@kernel.org> # 38.x
      Reported-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com>
      a9f0fbe2
  2. 29 3月, 2011 29 次提交