28 Sep, 2010

15 commits


27 Sep, 2010

5 commits

  • f4347553b30ec66530bfe63c84530afea3803396 removed the edac polling
    mechanism in favor of using a notifier chain for conveying MCE
    information to edac. However, the module removal path didn't test
    whether the driver had setup the polling function workqueue at all and
    the rmmod process was hanging in the kernel at try_to_del_timer_sync()
    in the cancel_delayed_work() path, trying to cancel an uninitialized
    work struct.

    Fix that by adding a balancing check to the workqueue removal path.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • System call entry functions sys_*() are never to be called from
    general kernel code. The fact that they aren't declared in header
    files should have been a clue. These functions also don't exist on
    Alpha since it has sys_getxpid() instead.

    Signed-off-by: Ben Hutchings
    Acked-by: Tetsuo Handa
    Signed-off-by: James Morris

    Ben Hutchings
     
  • If not all clocks have been defined in platform data, the driver will
    cause a null pointer dereference when it is removed. This patch fixes
    this issue.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Chris Ball

    Marek Szyprowski
     
  • In the commit f522886e202a34a2191dd5d471b3c4d46410a9a0 a merge conflict
    in the sdhci-s3c driver been fixed. However the fix used incorrect
    spinlock operation - it caused a race with sdhci interrupt service. The
    correct way to solve it is to use spin_lock_irqsave/irqrestore() calls.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Andrew Morton
    Signed-off-by: Chris Ball

    Marek Szyprowski
     
  • Signed-off-by: Chris Ball
    Cc: Pierre Ossman
    Cc:
    Signed-off-by: Andrew Morton

    Chris Ball
     

26 Sep, 2010

6 commits

  • In error return path
    call pci_disable_device() which was enabled earlier.

    Signed-off-by: Rahul Ruikar
    Signed-off-by: Dominik Brodowski

    Rahul Ruikar
     
  • rdusp() gives us the right value only for the current thread...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • We want interrupts disabled on all paths leading to RESTORE_ALL;
    otherwise, we are risking an IRQ coming between the updates of
    alpha_mv->hae_cache and *alpha_mv->hae_register and set_hae()
    within the IRQ getting badly confused.

    RESTORE_ALL used to play with disabling IRQ itself, but that got
    removed back in 2002, without making sure we had them disabled
    on all paths. It's cheaper to make sure we have them disabled than
    to revert to original variant...

    Remove the detritus left from that commit back in 2002; we used to
    need a reload of $0 and $1 since swpipl would change those, but
    doing that had become pointless when we stopped doing swpipl in
    there...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: prevent merges of discard and write requests

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: sound/pci/rme9652: prevent reading uninitialized stack memory
    ALSA: hda - Fix auto-parse of SPDIF input of Realtek codecs
    ASoC: Fix multi-componentism
    ASoC: Fix soc-cache buffer overflow bug
    ALSA: oxygen: fix analog capture on Claro halo cards
    ALSA: hda - Add Dell Latitude E6400 model quirk
    ASoC: fix clkdev API usage in sh/migor.c

    Linus Torvalds
     
  • Thomas Pollet noticed that the remap_file_pages() system call in
    fremap.c has a potential overflow in the first part of the if statement
    below, which could cause it to process bogus input parameters.
    Specifically the pgoff + size parameters could be wrap thereby
    preventing the system call from failing when it should.

    Reported-by: Thomas Pollet
    Signed-off-by: Larry Woodman
    Signed-off-by: Linus Torvalds

    Larry Woodman
     

25 Sep, 2010

14 commits

  • Takashi Iwai
     
  • Takashi Iwai
     
  • The SNDRV_HDSP_IOCTL_GET_CONFIG_INFO and
    SNDRV_HDSP_IOCTL_GET_CONFIG_INFO ioctls in hdspm.c and hdsp.c allow
    unprivileged users to read uninitialized kernel stack memory, because
    several fields of the hdsp{m}_config_info structs declared on the stack
    are not altered or zeroed before being copied back to the user. This
    patch takes care of it.

    Signed-off-by: Dan Rosenberg
    Cc:
    Signed-off-by: Takashi Iwai

    Dan Rosenberg
     
  • Add logic to prevent two I/O requests being merged if
    only one of them is a discard. Ditto secure discard.

    Without this fix, it is possible for write requests
    to transform into discard requests. For example:

    Submit bio 1 to discard 8 sectors from sector n
    Submit bio 2 to write 8 sectors from sector n + 16
    Submit bio 3 to write 8 sectors from sector n + 8

    Bio 1 becomes request 1. Bio 2 becomes request 2.
    Bio 3 is merged with request 2, and then subsequently
    request 2 is merged with request 1 resulting in just
    one I/O request which discards all 24 sectors.

    Signed-off-by: Adrian Hunter

    (Moved the checks above the position checks /Jens)

    Signed-off-by: Jens Axboe

    Adrian Hunter
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:
    x86/hwmon: pkgtemp has no dependency on PCI
    MAINTAINERS: Update hwmon entry
    x86/hwmon: register alternate sibling upon CPU removal
    x86/hwmon: fix initialization of pkgtemp
    x86/hwmon: fix initialization of coretemp
    x86/hwmon: don't leak device attribute file from pkgtemp_probe() and pkgtemp_remove()
    x86/hwmon: avoid deadlock on CPU removal in pkgtemp
    x86/hwmon: fix module init for hotplug-but-no-device-found case
    hwmon: (lis3) Fix Oops with NULL platform data

    Linus Torvalds
     
  • * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    arch/tile: remove dead code from intvec_32.S

    Linus Torvalds
     
  • This "bpt_code" instruction was killed off in our development line a while
    ago (the actual definition of bpt_code that is used is in kernel/traps.c)
    but I didn't push it for 2.6.36 because it seemed harmless and I didn't
    want to try to push more than absolutely necessary.

    However, we recently fixed a bug in our gcc that had been causing
    "-gdwarf2" not to be passed to the assembler, and passing this flag causes
    an erroneous assembler failure in the presence of code in a data section,
    sometimes. While we'd like to track down the bug in the assembler,
    we'd also like to make sure 2.6.36 builds with the current toolchain,
    so I'm removing this dead code as well.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • Thomas Pollet points out that the 'end' variable is broken. It was
    computed based on start/size before they were page-aligned, and as such
    doesn't actually match any of the other actions we take. The overflow
    test on end was also redundant, since we had already tested it with the
    properly aligned version.

    So just get rid of it entirely. The one remaining use for that broken
    variable can just use 'start+size' like all the other cases already did.

    Reported-by: Thomas Pollet
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
    o2dlm: force free mles during dlm exit
    ocfs2: Sync inode flags with ext2.
    ocfs2: Move 'wanted' into parens of ocfs2_resmap_resv_bits.
    ocfs2: Use cpu_to_le16 for e_leaf_clusters in ocfs2_bg_discontig_add_extent.
    ocfs2: update ctime when changing the file's permission by setfacl
    ocfs2/net: fix uninitialized ret in o2net_send_message_vec()
    Ocfs2: Handle empty list in lockres_seq_start() for dlmdebug.c
    Ocfs2: Re-access the journal after ocfs2_insert_extent() in dxdir codes.
    ocfs2: Fix lockdep warning in reflink.
    ocfs2/lockdep: Move ip_xattr_sem out of ocfs2_xattr_get_nolock.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: update Kconfig help text for CONFIG_USB_SUSPEND
    usb: musb: gadget: restart request on clearing endpoint halt
    usb: musb: host: Issue a memory barrier before starting DMA
    usb: musb: gadget: fix dma length in txstate
    usb: musb: gadget: complete request only if data is transfered over
    usb: musb: gadget: fix DMA length for OUT transfer
    usb: musb: gadget: enable autoclear for OUT transfer in both DMA 0 and DMA 1
    usb: musb: gadget: fix bulk IN infinit hangs in double buffer case
    usb: musb: gadget: fix kernel panic if using out ep with FIFO_TXRX style
    USB: fix bug in initialization of interface minor numbers

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
    Staging: ti-st: remove st_get_plat_device

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    vgaarb: trivial fix
    drm: radeon cleanup fixes...
    drm: fix trivial coding errors
    drm: ttm sparse fixes.
    drm/nouveau: fix panels using straps-based mode detection
    drm/ttm: Clear the ghost cpu_writers flag on ttm_buffer_object_transfer.
    drm/radeon: don't allow device to be opened if powered down

    Linus Torvalds
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • It's a userland pointer; worse, an untrustable one since ptrace
    has just provided a chance to modify it.

    X-Roothole-Covering-Cabal: TINRCC
    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro