05 Aug, 2010

22 commits


02 Aug, 2010

2 commits


31 Jul, 2010

13 commits

  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    cyber2000fb: fix console in truecolor modes
    cyber2000fb: fix machine hang on module load
    SA1111: Eliminate use after free
    ARM: Fix Versatile/Realview/VExpress MMC card detection sense
    ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt
    ARM: Add barriers to io{read,write}{8,16,32} accessors as well
    ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE
    ARM: 6272/1: Convert L2x0 to use the IO relaxed operations
    ARM: 6271/1: Introduce *_relaxed() I/O accessors
    ARM: 6275/1: ux500: don't use writeb() in uncompress.h
    ARM: 6270/1: clean files in arch/arm/boot/compressed/
    ARM: Fix csum_partial_copy_from_user()

    Linus Torvalds
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    NFS: Ensure that writepage respects the nonblock flag
    NFS: kswapd must not block in nfs_release_page
    nfs: include space for the NUL in root path

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/edid: Fix the HDTV hack sync adjustment
    drm/radeon/kms: fix radeon mid power profile reporting

    Linus Torvalds
     
  • Debian's ia64 autobuilders have been seeing kernel freeze or reboot
    when running the gdb testsuite (Debian bug 588574): dannf bisected to
    2.6.32 62eede62dafb4a6633eae7ffbeb34c60dba5e7b1 "mm: ZERO_PAGE without
    PTE_SPECIAL"; and reproduced it with gdb's gcore on a simple target.

    I'd missed updating the gate_vma handling in __get_user_pages(): that
    happens to use vm_normal_page() (nowadays failing on the zero page),
    yet reported success even when it failed to get a page - boom when
    access_process_vm() tried to copy that to its intermediate buffer.

    Fix this, resisting cleanups: in particular, leave it for now reporting
    success when not asked to get any pages - very probably safe to change,
    but let's not risk it without testing exposure.

    Why did ia64 crash with 16kB pages, but succeed with 64kB pages?
    Because setup_gate() pads each 64kB of its gate area with zero pages.

    Reported-by: Andreas Barth
    Bisected-by: dann frazier
    Signed-off-by: Hugh Dickins
    Tested-by: dann frazier
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Remove the __exit mark from cifs_exit_dns_resolver() as it's called by the
    module init routine in case of error, and so may have been discarded during
    linkage.

    Signed-off-by: David Howells
    Acked-by: Jeff Layton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Return value was not set to 0 in setcolreg() with truecolor modes. This causes
    fb_set_cmap() to abort after first color, resulting in blank palette - and
    blank console in 24bpp and 32bpp modes.

    Signed-off-by: Ondrej Zary
    Signed-off-by: Russell King

    Ondrej Zary
     
  • I was testing two CyberPro 2000 based PCI cards on x86 and the machine always
    hanged completely when the cyber2000fb module was loaded. It seems that the
    card hangs when some registers are accessed too quickly after writing RAMDAC
    control register. With this patch, both card work.

    Add delay after RAMDAC control register write to prevent hangs on module load.

    Signed-off-by: Ondrej Zary
    Signed-off-by: Russell King

    Ondrej Zary
     
  • __sa1111_remove always frees its argument, so the subsequent reference to
    sachip->saved_state represents a use after free. __sa1111_remove does not
    appear to use the saved_state field, so the patch simply frees it first.

    A simplified version of the semantic patch that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    expression E,E2;
    @@

    __sa1111_remove(E)
    ...
    (
    E = E2
    |
    * E
    )
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Russell King

    Julia Lawall
     
  • The MMC card detection sense has become really confused with negations
    at various levels, leading to some platforms not detecting inserted
    cards. Fix this by converting everything to positive logic throughout,
    thereby getting rid of these negations.

    Signed-off-by: Russell King

    Russell King
     
  • smp_processor_id() must not be called from a preemptible context (this
    is checked by CONFIG_DEBUG_PREEMPT). kmap_high_l1_vipt() was doing so.
    This lead to a problem where the wrong per_cpu kmap_high_l1_vipt_depth
    could be incremented, causing a BUG_ON(*depth

    Signed-off-by: Gary King
    Acked-by: Nicolas Pitre
    Signed-off-by: Russell King

    Gary King
     
  • Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • See https://bugzilla.kernel.org/show_bug.cgi?id=16056

    If other processes are blocked waiting for kswapd to free up some memory so
    that they can make progress, then we cannot allow kswapd to block on those
    processes.

    Signed-off-by: Trond Myklebust
    Cc: stable@kernel.org

    Trond Myklebust
     
  • In root_nfs_name() it does the following:

    if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) {
    printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n");
    return -1;
    }
    sprintf(nfs_export_path, buf, cp);

    In the original code if (strlen(buf) + strlen(cp) == NFS_MAXPATHLEN)
    then the sprintf() would lead to an overflow. Generally the rest of the
    code assumes that the path can have NFS_MAXPATHLEN (1024) characters and
    a NUL terminator so the fix is to add space to the nfs_export_path[]
    buffer.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Trond Myklebust

    Dan Carpenter
     

30 Jul, 2010

3 commits