1. 27 1月, 2009 12 次提交
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx · 7954d5cf
      Linus Torvalds 提交于
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
        i.MX31: framebuffer driver
        i.MX31: Image Processing Unit DMA and IRQ drivers
        dmaengine: add async_tx_clear_ack() macro
        dmaengine: dma_issue_pending_all == nop when CONFIG_DMA_ENGINE=n
        dmaengine: kill some dubious WARN_ONCEs
        fsldma: print correct IRQ on mpc83xx
        fsldma: check for NO_IRQ in fsl_dma_chan_remove()
        dmatest: Use custom map/unmap for destination buffer
        fsldma: use a valid 'device' for dma_pool_create
        dmaengine: fix dependency chaining
      7954d5cf
    • L
      Merge branch 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 37f5fed5
      Linus Torvalds 提交于
      * 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (22 commits)
        dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.
        dma-coherent: per-device coherent area is in pages, not bytes.
        sh: fix unaligned and nonexistent address handling
        nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases().
        sh: fix sh-sci / early printk build on sh7723
        sh: export the sh7343 JPU to user space
        sh: update defconfigs.
        serial: sh-sci: Fix up SH7720/SH7721 SCI build.
        sh: Kill off obsolete busses from arch/sh/Kconfig.
        sh: sh7785lcr/highlander/hp6xx need linux/irq.h.
        sh: Migo-R MMC support using spi_gpio and mmc_spi.
        sh: ap325rxa MMC support using spi_gpio and mmc_spi
        sh: mach-x3proto: needs linux/irq.h.
        sh: Drop the BKL from sys_execve() on SH-5.
        sh: convert rsk7203 to use smsc911x.
        sh: convert magicpanelr2 platform to use smsc911x.
        sh: convert ap325rxa platform to use smsc911x.
        sh: mach-migor: Add tw9910 support.
        sh: mach-migor: Delete soc_camera_platform setup.
        sh: mach-migor: Add ov772x support.
        ...
      37f5fed5
    • L
      Merge branch 'Kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc · a1c70a75
      Linus Torvalds 提交于
      * 'Kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc: (36 commits)
        fs/Kconfig: move 9p out
        fs/Kconfig: move afs out
        fs/Kconfig: move coda out
        fs/Kconfig: move the rest of ncpfs out
        fs/Kconfig: move smbfs out
        fs/Kconfig: move sunrpc out
        fs/Kconfig: move nfsd out
        fs/Kconfig: move nfs out
        fs/Kconfig: move ufs out
        fs/Kconfig: move sysv out
        fs/Kconfig: move romfs out
        fs/Kconfig: move qnx4 out
        fs/Kconfig: move hpfs out
        fs/Kconfig: move omfs out
        fs/Kconfig: move minix out
        fs/Kconfig: move vxfs out
        fs/Kconfig: move squashfs out
        fs/Kconfig: move cramfs out
        fs/Kconfig: move efs out
        fs/Kconfig: move bfs out
        ...
      a1c70a75
    • V
      inotify: clean up inotify_read and fix locking problems · 3632dee2
      Vegard Nossum 提交于
      If userspace supplies an invalid pointer to a read() of an inotify
      instance, the inotify device's event list mutex is unlocked twice.
      This causes an unbalance which effectively leaves the data structure
      unprotected, and we can trigger oopses by accessing the inotify
      instance from different tasks concurrently.
      
      The best fix (contributed largely by Linus) is a total rewrite
      of the function in question:
      
      On Thu, Jan 22, 2009 at 7:05 AM, Linus Torvalds wrote:
      > The thing to notice is that:
      >
      >  - locking is done in just one place, and there is no question about it
      >   not having an unlock.
      >
      >  - that whole double-while(1)-loop thing is gone.
      >
      >  - use multiple functions to make nesting and error handling sane
      >
      >  - do error testing after doing the things you always need to do, ie do
      >   this:
      >
      >        mutex_lock(..)
      >        ret = function_call();
      >        mutex_unlock(..)
      >
      >        .. test ret here ..
      >
      >   instead of doing conditional exits with unlocking or freeing.
      >
      > So if the code is written in this way, it may still be buggy, but at least
      > it's not buggy because of subtle "forgot to unlock" or "forgot to free"
      > issues.
      >
      > This _always_ unlocks if it locked, and it always frees if it got a
      > non-error kevent.
      
      Cc: John McCutchan <ttb@tentacle.dhs.org>
      Cc: Robert Love <rlove@google.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NVegard Nossum <vegard.nossum@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3632dee2
    • L
      Fix annoying DRM_ERROR() string warning · aeb565df
      Linus Torvalds 提交于
      Use '%zu' to print out a size_t variable, not '%d'.  Another case of the
      "let's keep at least Linus' defconfig compile warningless" rule.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aeb565df
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 2d07d4d1
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: fix poll notify
        fuse: destroy bdi on umount
        fuse: fuse_fill_super error handling cleanup
        fuse: fix missing fput on error
        fuse: fix NULL deref in fuse_file_alloc()
      2d07d4d1
    • L
      Merge branch 'core-fixes-for-linus' of... · 3386c05b
      Linus Torvalds 提交于
      Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        debugobjects: add and use INIT_WORK_ON_STACK
        rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR
        relay: fix lock imbalance in relay_late_setup_files
        oprofile: fix uninitialized use of struct op_entry
        rcu: move Kconfig menu
        softlock: fix false panic which can occur if softlockup_thresh is reduced
        rcu: add __cpuinit to rcu_init_percpu_data()
      3386c05b
    • L
      Merge branch 'timers-fixes-for-linus' of... · 1e70c7f7
      Linus Torvalds 提交于
      Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        hrtimers: fix inconsistent lock state on resume in hres_timers_resume
        time-sched.c: tick_nohz_update_jiffies should be static
        locking, hpet: annotate false positive warning
        kernel/fork.c: unused variable 'ret'
        itimers: remove the per-cpu-ish-ness
      1e70c7f7
    • L
      Merge branch 'x86-fixes-for-linus' of... · 810ee58d
      Linus Torvalds 提交于
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits)
        xen: unitialised return value in xenbus_write_transaction
        x86: fix section mismatch warning
        x86: unmask CPUID levels on Intel CPUs, fix
        x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.
        x86: use standard PIT frequency
        xen: handle highmem pages correctly when shrinking a domain
        x86, mm: fix pte_free()
        xen: actually release memory when shrinking domain
        x86: unmask CPUID levels on Intel CPUs
        x86: add MSR_IA32_MISC_ENABLE bits to <asm/msr-index.h>
        x86: fix PTE corruption issue while mapping RAM using /dev/mem
        x86: mtrr fix debug boot parameter
        x86: fix page attribute corruption with cpa()
        Revert "x86: signal: change type of paramter for sys_rt_sigreturn()"
        x86: use early clobbers in usercopy*.c
        x86: remove kernel_physical_mapping_init() from init section
        fix: crash: IP: __bitmap_intersects+0x48/0x73
        cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write
        work_on_cpu: Use our own workqueue.
        work_on_cpu: don't try to get_online_cpus() in work_on_cpu.
        ...
      810ee58d
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 · 2927fcea
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
        drivers/ide/palm_bk3710.c buildfix
        ide: fix Falcon IDE breakage
        ide: fix IDE PMAC breakage
      2927fcea
    • L
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 36f392d0
      Linus Torvalds 提交于
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        Long btree pointers are still 64 bit on disk
        [XFS] Remove the rest of the macro-to-function indirections.
        xfs: sanity check attr fork size
        xfs: fix bad_features2 fixups for the root filesystem
        xfs: add a lock class for group/project dquots
        xfs: lockdep annotations for xfs_dqlock2
        xfs: add a separate lock class for the per-mount list of dquots
        xfs: use mnt_want_write in compat_attrmulti ioctl
        xfs: fix dentry aliasing issues in open_by_handle
      36f392d0
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 6c31e7ee
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h
        ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk
        ALSA: hda: revert change to 92hd83xxx power mapping
        ALSA: hda - Add model entry for HP dv4
        ALSA: hda: 83xxx port 0xe DAC selection
        ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers
        sound: virtuoso: document HDAV1.3 driver status
        sound: virtuoso: add newline
        sound: virtuoso: enable UART on Xonar HDAV1.3
        sound: Remove removed OSS kernel parameters from doc
        ALSA: hda: fix invalid power mapping masks
        ASoC: atmel_pcm: Remove non-existant header
        ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC
        ALSA: hda - Fix (yet more) STAC925x issues
      6c31e7ee
  2. 26 1月, 2009 9 次提交
    • M
      fuse: fix poll notify · f6d47a17
      Miklos Szeredi 提交于
      Move fuse_copy_finish() to before calling fuse_notify_poll_wakeup().
      This is not a big issue because fuse_notify_poll_wakeup() should be
      atomic, but it's cleaner this way, and later uses of notification will
      need to be able to finish the copying before performing some actions.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      f6d47a17
    • M
      fuse: destroy bdi on umount · 26c36791
      Miklos Szeredi 提交于
      If a fuse filesystem is unmounted but the device file descriptor
      remains open and a new mount reuses the old device number, then the
      mount fails with EEXIST and the following warning is printed in the
      kernel log:
      
        WARNING: at fs/sysfs/dir.c:462 sysfs_add_one+0x35/0x3d()
        sysfs: duplicate filename '0:15' can not be created
      
      The cause is that the bdi belonging to the fuse filesystem was
      destoryed only after the device file was released.  Fix this by
      calling bdi_destroy() from fuse_put_super() instead.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: stable@kernel.org
      26c36791
    • M
      fuse: fuse_fill_super error handling cleanup · c2b8f006
      Miklos Szeredi 提交于
      Clean up error handling for the whole of fuse_fill_super() function.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      c2b8f006
    • M
      fuse: fix missing fput on error · 3ddf1e7f
      Miklos Szeredi 提交于
      Fix the leaking file reference if allocation or initialization of
      fuse_conn failed.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: stable@kernel.org
      3ddf1e7f
    • D
      fuse: fix NULL deref in fuse_file_alloc() · bb875b38
      Dan Carpenter 提交于
      ff is set to NULL and then dereferenced on line 65.  Compile tested only.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: stable@kernel.org
      bb875b38
    • I
      xen: unitialised return value in xenbus_write_transaction · e88a0faa
      Ian Campbell 提交于
      The return value of xenbus_write_transaction can be uninitialised in
      the success case leading to the userspace xenstore utilities failing.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e88a0faa
    • R
      x86: fix section mismatch warning · 659d2618
      Rakib Mullick 提交于
      Here function vmi_activate calls a init function activate_vmi , which
      causes the following section mismatch warnings:
      
        LD      arch/x86/kernel/built-in.o
      WARNING: arch/x86/kernel/built-in.o(.text+0x13ba9): Section mismatch
      in reference from the function vmi_activate() to the function
      .init.text:vmi_time_init()
      The function vmi_activate() references
      the function __init vmi_time_init().
      This is often because vmi_activate lacks a __init
      annotation or the annotation of vmi_time_init is wrong.
      
      WARNING: arch/x86/kernel/built-in.o(.text+0x13bd1): Section mismatch
      in reference from the function vmi_activate() to the function
      .devinit.text:vmi_time_bsp_init()
      The function vmi_activate() references
      the function __devinit vmi_time_bsp_init().
      This is often because vmi_activate lacks a __devinit
      annotation or the annotation of vmi_time_bsp_init is wrong.
      
      WARNING: arch/x86/kernel/built-in.o(.text+0x13bdb): Section mismatch
      in reference from the function vmi_activate() to the function
      .devinit.text:vmi_time_ap_init()
      The function vmi_activate() references
      the function __devinit vmi_time_ap_init().
      This is often because vmi_activate lacks a __devinit
      annotation or the annotation of vmi_time_ap_init is wrong.
      
      Fix it by marking vmi_activate() as __init too.
      Signed-off-by: NRakib Mullick <rakib.mullick@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      659d2618
    • I
      x86: unmask CPUID levels on Intel CPUs, fix · 99fb4d34
      Ingo Molnar 提交于
      Impact: fix boot hang on pre-model-15 Intel CPUs
      
      rdmsrl_safe() does not work in very early bootup code yet, because we
      dont have the pagefault handler installed yet so exception section
      does not get parsed. rdmsr_safe() will just crash and hang the bootup.
      
      So limit the MSR_IA32_MISC_ENABLE MSR read to those CPU types that
      support it.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      99fb4d34
    • E
      x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn. · ef5fa0ab
      Eric Anholt 提交于
      In the absence of PAT, PAGE_KERNEL_WC ends up mapping to a memory type that
      gets UC behavior even in the presence of a WC MTRR covering the area in
      question.  By swapping to PAGE_KERNEL_UC_MINUS, we can get the actual
      behavior the caller wanted (WC if you can manage it, UC otherwise).
      
      This recovers the 40% performance improvement of using WC in the DRM
      to upload vertex data.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      ef5fa0ab
  3. 25 1月, 2009 1 次提交
    • I
      x86: use standard PIT frequency · e1b4d114
      Ingo Molnar 提交于
      the RDC and ELAN platforms use slighly different PIT clocks, resulting in
      a timex.h hack that changes PIT_TICK_RATE during build time. But if a
      tester enables any of these platform support .config options, the PIT
      will be miscalibrated on standard PC platforms.
      
      So use one frequency - in a subsequent patch we'll add a quirk to allow
      x86 platforms to define different PIT frequencies.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e1b4d114
  4. 24 1月, 2009 3 次提交
    • I
      xen: handle highmem pages correctly when shrinking a domain · ff4ce8c3
      Ian Campbell 提交于
      Commit 1058a75f ("xen: actually release
      memory when shrinking domain") causes a crash if the page being released
      is a highmem page.
      
      If a page is highmem then there is no need to unmap it.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Acked-by: NJeremy Fitzhardinge <jeremy@goop.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ff4ce8c3
    • P
      x86, mm: fix pte_free() · 42ef73fe
      Peter Zijlstra 提交于
      On -rt we were seeing spurious bad page states like:
      
      Bad page state in process 'firefox'
      page:c1bc2380 flags:0x40000000 mapping:c1bc2390 mapcount:0 count:0
      Trying to fix it up, but a reboot is needed
      Backtrace:
      Pid: 503, comm: firefox Not tainted 2.6.26.8-rt13 #3
      [<c043d0f3>] ? printk+0x14/0x19
      [<c0272d4e>] bad_page+0x4e/0x79
      [<c0273831>] free_hot_cold_page+0x5b/0x1d3
      [<c02739f6>] free_hot_page+0xf/0x11
      [<c0273a18>] __free_pages+0x20/0x2b
      [<c027d170>] __pte_alloc+0x87/0x91
      [<c027d25e>] handle_mm_fault+0xe4/0x733
      [<c043f680>] ? rt_mutex_down_read_trylock+0x57/0x63
      [<c043f680>] ? rt_mutex_down_read_trylock+0x57/0x63
      [<c0218875>] do_page_fault+0x36f/0x88a
      
      This is the case where a concurrent fault already installed the PTE and
      we get to free the newly allocated one.
      
      This is due to pgtable_page_ctor() doing the spin_lock_init(&page->ptl)
      which is overlaid with the {private, mapping} struct.
      
      union {
          struct {
              unsigned long private;
              struct address_space *mapping;
          };
          spinlock_t ptl;
          struct kmem_cache *slab;
          struct page *first_page;
      };
      
      Normally the spinlock is small enough to not stomp on page->mapping, but
      PREEMPT_RT=y has huge 'spin'locks.
      
      But lockdep kernels should also be able to trigger this splat, as the
      lock tracking code grows the spinlock to cover page->mapping.
      
      The obvious fix is calling pgtable_page_dtor() like the regular pte free
      path __pte_free_tlb() does.
      
      It seems all architectures except x86 and nm10300 already do this, and
      nm10300 doesn't seem to use pgtable_page_ctor(), which suggests it
      doesn't do SMP or simply doesnt do MMU at all or something.
      Signed-off-by: NPeter Zijlstra <a.p.zijlsta@chello.nl>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: <stable@kernel.org>
      42ef73fe
    • T
      Merge branch 'fix/asoc' into for-linus · 0f0779b1
      Takashi Iwai 提交于
      0f0779b1
  5. 23 1月, 2009 6 次提交
  6. 22 1月, 2009 9 次提交