23 Dec, 2008

1 commit


21 Dec, 2008

3 commits

  • Impact: Prevent kernel crash with posix timer clockid CLOCK_MONOTONIC_RAW

    commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68 (clocksource:
    introduce CLOCK_MONOTONIC_RAW) introduced a new clockid, which is only
    available to read out the raw not NTP adjusted system time.

    The above commit did not prevent that a posix timer can be created
    with that clockid. The timer_create() syscall succeeds and initializes
    the timer to a non existing hrtimer base. When the timer is deleted
    either by timer_delete() or by the exit() cleanup the kernel crashes.

    Prevent the creation of timers for CLOCK_MONOTONIC_RAW by setting the
    posix clock function to no_timer_create which returns an error code.

    Reported-and-tested-by: Eric Sesterhenn
    Signed-off-by: Thomas Gleixner
    Acked-by: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    fs/9p: change simple_strtol to simple_strtoul
    9p: convert d_iname references to d_name.name
    9p: Remove potentially bad parameter from function entry debug print.

    Linus Torvalds
     
  • …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:
    x86: fix resume (S2R) broken by Intel microcode module, on A110L
    x86 gart: don't complain if no AMD GART found
    AMD IOMMU: panic if completion wait loop fails
    AMD IOMMU: set cmd buffer pointers to zero manually
    x86: re-enable MCE on secondary CPUS after suspend/resume
    AMD IOMMU: allocate rlookup_table with __GFP_ZERO

    Linus Torvalds
     

20 Dec, 2008

10 commits

  • Impact: fix deadlock

    This is in response to the following bug report:

    Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12100
    Subject : resume (S2R) broken by Intel microcode module, on A110L
    Submitter : Andreas Mohr
    Date : 2008-11-25 08:48 (19 days old)
    Handled-By : Dmitry Adamushko

    [ The deadlock scenario has been discovered by Andreas Mohr ]

    I think I might have a logical explanation why the system:

    (http://bugzilla.kernel.org/show_bug.cgi?id=12100)

    might hang upon resuming, OTOH it should have likely hanged each and every time.

    (1) possible deadlock in microcode_resume_cpu() if either 'if' section is
    taken;

    (2) now, I don't see it in spec. and can't experimentally verify it (newer
    ucodes don't seem to be available for my Core2duo)... but logically-wise, I'd
    think that when read upon resuming, the 'microcode revision' (MSR 0x8B) should
    be back to its original one (we need to reload ucode anyway so it doesn't seem
    logical if a cpu doesn't drop the version)... if so, the comparison with
    memcmp() for the full 'struct cpu_signature' is wrong... and that's how one of
    the aforementioned 'if' sections might have been triggered - leading to a
    deadlock.

    Obviously, in my tests I simulated loading/resuming with the ucode of the same
    version (just to see that the file is loaded/re-loaded upon resuming) so this
    issue has never popped up.

    I'd appreciate if someone with an appropriate system might give a try to the
    2nd patch (titled "fix a comparison && deadlock...").

    In any case, the deadlock situation is a must-have fix.

    Reported-by: Andreas Mohr
    Signed-off-by: Dmitry Adamushko
    Tested-by: Andreas Mohr
    Signed-off-by: Ingo Molnar
    Cc:

    Signed-off-by: Ingo Molnar

    Dmitry Adamushko
     
  • Since v9ses->uid is unsigned, it would seem better to use simple_strtoul that
    simple_strtol.

    A simplified version of the semantic patch that makes this change is as
    follows: (http://www.emn.fr/x-info/coccinelle/)

    //
    @r2@
    long e;
    position p;
    @@

    e = simple_strtol@p(...)

    @@
    position p != r2.p;
    type T;
    T e;
    @@

    e =
    - simple_strtol@p
    + simple_strtoul
    (...)
    //

    Signed-off-by: Julia Lawall
    Acked-by: Eric Van Hensbergen

    Julia Lawall
     
  • d_iname is rubbish for long file names.
    Use d_name.name in printks instead.

    Signed-off-by: Wu Fengguang
    Acked-by: Eric Van Hensbergen

    Wu Fengguang
     
  • Signed-off-by: Duane Griffin
    Signed-off-by: Eric Van Hensbergen

    Duane Griffin
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
    [SCSI] mpt fusion: clear list of outstanding commands on host reset
    [SCSI] scsi_lib: only call scsi_unprep_request() under queue lock
    [SCSI] ibmvstgt: move crq_queue_create to the end of initialization
    [SCSI] libiscsi REGRESSION: fix passthrough support with older iscsi tools
    [SCSI] aacraid: disable Dell Percraid quirk on Adaptec 2200S and 2120S

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: Fix a Oops bug in omap soc driver.
    ALSA: hda - Remove non-working headphone control for Dell laptops
    ALSA: hda - Add no-jd model for IDT 92HD73xx
    ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"
    ALSA: hda - Add quirk for Dell Studio 17
    ALSA: hda - Fix silent HP output on D975

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    cciss: fix problem that deleting multiple logical drives could cause a panic

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: GEM on PAE has problems - disable it for now.
    drm/i915: Don't return busy for buffers left on the flushing list.

    Linus Torvalds
     
  • * 'for-linus' of git://neil.brown.name/md:
    md: Don't read past end of bitmap when reading bitmap.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI hotplug: ibmphp: Fix module ref count underflow
    PCI hotplug: acpiphp wants a 64-bit _SUN
    PCI: pciehp: fix unexpected power off with pciehp_force
    PCI: fix aer resume sanity check

    Linus Torvalds
     

19 Dec, 2008

18 commits

  • Takashi Iwai
     
  • There will be a Oops or frequent underrun messages when playing music with
    omap soc driver, this is because a data region is incorretly sized, other data
    region will be overwriten when writing to this data region.

    Signed-off-by: Stanley Miao
    Acked-by: Jarkko Nikula
    Cc: stable@kernel.org
    Signed-off-by: Takashi Iwai

    Stanley Miao
     
  • The previous commit re-enabled hp_nid setup for IDT92HD73*, but
    it's unneeded indeed for Dell laptops that have multiple headphones.
    Setting the extra hp_nid results in a non-working "Headpohne" mixer
    control. Thus hp_nid should be 0 for these dell models.

    Also, the automatic addition of hp_nid should check whether it's
    a dual-HP model or not. For dual-HPs, the pins are already checked
    by the early workaround.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Added the model without the jack-detection for some desktops that
    have really no jack-detection. The recent driver caused regressions
    regarding the sound output on such machines.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • This reverts commit 07f455f779acfb3eba4921fd1399761559b10fa9.
    ALSA: hda: removed unneeded hp_nid references

    Removed unneeded hp_nid references for 92hd73xx codec family.

    This caused the silent output on some Intel desktops due to missing
    routing of widget 0x0a and 0x0d.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Fix problem that deleting multiple logical drives could cause a panic.

    It fixes a panic which can be easily reproduced in the following way: Just
    create several "arrays," each with multiple logical drives via hpacucli,
    then delete the first array, and it will blow up in deregister_disk(), in
    the call to get_host() when it tries to dig the hba pointer out of a NULL
    queue pointer.

    The problem has been present since my code to make rebuild_lun_table
    behave better went in.

    Signed-off-by: Stephen M. Cameron
    Signed-off-by: Jens Axboe

    Stephen M. Cameron
     
  • Added the matching model=dell-m6 for Dell Studio 17 laptop.

    Signed-off-by: Joerg Schirottke
    Signed-off-by: Takashi Iwai

    Joerg Schirottke
     
  • On PAE systems, GEM allocates pages using shmem, and passes these
    pages to be bound into AGP, however the AGP interfaces + the x86
    set_memory interfaces all take unsigned long not dma_addr_t.

    The initial fix for this was a mess, so we need to do this correctly
    for 2.6.29.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • These buffers don't have active rendering still occurring to them, they just
    need either a flush to be emitted or a retire_requests to occur so that we
    notice they're done. Return unbusy so that one of the two occurs. The two
    expected consumers of this interface (OpenGL and libdrm_intel BO cache) both
    want this behavior.

    Signed-off-by: Eric Anholt
    Acked-by: Keith Packard
    Signed-off-by: Dave Airlie

    Eric Anholt
     
  • When we read the write-intent-bitmap off the device, we currently
    read a whole number of pages.
    When PAGE_SIZE is 4K, this works due to the alignment we enforce
    on the superblock and bitmap.
    When PAGE_SIZE is 64K, this case read past the end-of-device
    which causes an error.

    When we write the superblock, we ensure to clip the last page
    to just be the required size. Copy that code into the read path
    to just read the required number of sectors.

    Signed-off-by: Neil Brown
    Cc: stable@kernel.org

    NeilBrown
     
  • This patch fixes a segfault in ppp_shutdown_interface() and
    ppp_destroy_interface() when a PPP connection is closed. I bisected
    the problem to the following commit:

    commit c8019bf3aff653cceb64f66489fc299ee5957b57
    Author: Wang Chen
    Date: Thu Nov 20 04:24:17 2008 -0800

    netdevice ppp: Convert directly reference of netdev->priv

    1. Use netdev_priv(dev) to replace dev->priv.
    2. Alloc netdev's private data by alloc_netdev().

    Signed-off-by: Wang Chen
    Signed-off-by: David S. Miller

    The original ppp_generic code treated the netdev and struct ppp as
    independent data structures which were freed separately. In moving the
    ppp struct into the netdev, it is now possible for the private data to
    be freed before the call to ppp_shutdown_interface(), which is bad.

    The kfree(ppp) in ppp_destroy_interface() is also wrong; presumably
    ppp hasn't worked since the above commit.

    The following patch fixes both problems.

    Signed-off-by: James Chapman
    Reviewed-by: Wang Chen
    Signed-off-by: David S. Miller

    James Chapman
     
  • The kernel_accept() does not hold the module refcount of newsock->ops->owner,
    so we need __module_get(newsock->ops->owner) code after call kernel_accept()
    by hand.
    In sunrpc, the module refcount is missing to hold. So this cause kernel panic.

    Used following script to reproduct:

    while [ 1 ];
    do
    mount -t nfs4 192.168.0.19:/ /mnt
    touch /mnt/file
    umount /mnt
    lsmod | grep ipv6
    done

    This patch fixed the problem by add __module_get(newsock->ops->owner) to
    kernel_accept(). So we do not need to used __module_get(newsock->ops->owner)
    in every place when used kernel_accept().

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    async_xor: dma_map destination DMA_BIDIRECTIONAL
    dmaengine: protect 'id' from concurrent registrations
    ioat: wait for self-test completion

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
    avr32: favr-32 build fix
    ATSTK1006: Fix boot from NAND flash
    avr32: remove .note.gnu.build-id section when making vmlinux.bin
    avr32: Enable pullup on USART TX lines

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    bnx2: Fix bug in bnx2_free_rx_mem().
    irda: Add irda_skb_cb qdisc related padding
    jme: Fixed a typo
    net: kernel BUG at drivers/net/phy/mdio_bus.c:165!
    drivers/net: starfire: Fix napi ->poll() weight handling
    tlan: Fix pci memory unmapping
    enc28j60: use netif_rx_ni() to deliver RX packets
    tlan: Fix small (< 64 bytes) datagram transmissions
    netfilter: ctnetlink: fix missing CTA_NAT_SEQ_UNSPEC

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc: We need to implement arch_ptrace_stop().

    Linus Torvalds
     
  • Update John McCutchan and Robert Love's email addresses for
    maintenance of inotify

    Signed-off-by: John McCutchan
    Acked-by: Robert Love
    Signed-off-by: Linus Torvalds

    John McCutchan
     

18 Dec, 2008

8 commits