05 Mar, 2009

5 commits


04 Mar, 2009

12 commits


03 Mar, 2009

23 commits

  • The cacheid_init() function assumes that if cpu_architecture() returns
    7, the caches are VIPT_NONALIASING. The cpu_architecture() function
    returns the version of the supported MMU features (e.g. TEX remapping)
    but it doesn't make any assumptions about the cache type. The patch adds
    the checking of the Cache Type Register for the ARMv7 format.

    Signed-off-by: Catalin Marinas
    Signed-off-by: Russell King

    Catalin Marinas
     
  • The target of the strex instruction to clear the exlusive monitor
    is currently the top of the stack. If the store succeeeds this
    corrupts r0 in pt_regs. Use the next stack location instead of
    the current one to prevent any chance of corrupting an in-use
    address.

    Signed-off-by: Seth Forshee
    Signed-off-by: Russell King

    Seth Forshee
     
  • Impact: fix stuck NMIs and non-working oprofile on certain CPUs

    Resetting the counter width of the performance counters on Intel's
    Core2 CPUs, breaks the delivery of NMIs, when running in x86_64 mode.

    This should fix bug #12395:

    http://bugzilla.kernel.org/show_bug.cgi?id=12395

    Signed-off-by: Tim Blechmann
    Signed-off-by: Robert Richter
    LKML-Reference:
    Cc:
    Signed-off-by: Ingo Molnar

    Tim Blechmann
     
  • Impact: fix failed EFI bootup in certain circumstances

    Ying Huang found init_memory_mapping() has problem with small ranges
    less than 2M when he tried to direct map the EFI runtime code out of
    max_low_pfn_mapped.

    It turns out we never considered that case and didn't check the range...

    Reported-by: Ying Huang
    Signed-off-by: Yinghai Lu
    Cc: Brian Maly
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     
  • This reverts commit 155b25bcc28631a5b5230191aa3f56c40dfffa3f, which was
    totally wrong - the "embedded" options still exists (very much so) even
    on non-embedded platforms.

    It's just that we don't bother with actually asking about them when
    we're not embedded, we just take their default values (which is usually
    'y' - the options add features that may not be worth it in a constrained
    environment).

    Noticed-by: Andrew Morton
    Cc: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: Fix use-before-null-check in i915_irq_emit().
    drm: Avoid client deadlocks when the master disappears.
    drm: Wake up all lock waiters when the master disappears.
    drm: Don't return ERESTARTSYS to user-space.

    Linus Torvalds
     
  • This could be triggered by a client asking to emit an irq when the device
    wasn't initialized.

    Signed-off-by: Eric Anholt
    Signed-off-by: Dave Airlie

    Eric Anholt
     
  • This is done by
    1) Wake up lock waiters when we close the master file descriptor.
    Not when the master structure is removed, since the latter
    requires the waiters themselves to release the refcount on the
    master structure -> Deadlock.
    2) Send a SIGTERM to all clients waiting for the lock.
    Normally these clients will get a SIGPIPE when the X server dies,
    but clients may also spin trying to grab the DRM lock, without
    getting any sort of notification.

    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • Currently only one waiter is woken up, leaving other waiters
    hanging waiting for the DRM lock.

    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • That return code is for in-kernel use only.
    Use EINTR instead.

    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • The COMPAT_BRK kconfig symbol does not depend on EMBEDDED, but it is in
    the midst of the EMBEDDED menu symbols, so it mucks up the EMBEDDED
    menu. Fix by moving it to just after all of the EMBEDDED menu symbols.

    Also, surround all of the EMBEDDED symbols with "if EMBEDDED"/"endif" so
    that this EMBEDDED block is clearer.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
    sdhci: Add NO_BUSY_IRQ quirk for Marvell CAFE host chip
    sdhci: Add quirk for controllers with no end-of-busy IRQ

    Linus Torvalds
     
  • * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Add probe_mask default for Toshiba laptop with ALC268
    ALSA: hda - Add quirk for new HP xw series
    ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3

    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:
    fix warning in io_mapping_map_wc()
    x86: i915 needs pgprot_writecombine() and is_io_mapping_possible()

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits)
    zaurus: add usb id for motomagx phones
    usbnet: make usbnet_get_link() fall back to ethtool_op_get_link()
    veth: Fix carrier detect
    cdc_ether: add usb id for Ericsson F3507g
    r8169: read MAC address from EEPROM on init (2nd attempt)
    tcp: fix retrans_out leaks
    net headers: export dcbnl.h
    net headers: cleanup dcbnl.h
    netpoll: Add drop checks to all entry points
    gianfar: Do right check on num_txbdfree
    pkt_sched: sch_drr: Fix oops in drr_change_class.
    b44: Disable device on shutdown
    b44: Unconditionally enable interrupt routing on reset
    net: fix hp-plus build error
    libertas: fix misuse of netdev_priv() and dev->ml_priv
    ipv6: don't use tw net when accounting for recycled tw
    asix: new device ids
    tcp_scalable: Update malformed & dead url
    netfilter: xt_recent: fix proc-file addition/removal of IPv4 addresses
    netxen: handle pci bar 0 mapping failure
    ...

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    selinux: Fix a panic in selinux_netlbl_inode_permission()

    Linus Torvalds
     
  • Since I will loose the old address soon, please change it.

    Signed-off-by: Karsten Keil
    Signed-off-by: Linus Torvalds

    Karsten Keil
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: elantech - touchpad driver miss-recognising logitech mice
    Input: synaptics - ensure we reset the device on resume
    Input: usbtouchscreen - fix eGalax HID ignoring
    Input: ambakmi - fix timeout handling in amba_kmi_write()
    Input: pxa930_trkball - fix write timeout handling
    Input: struct device - replace bus_id with dev_name(), dev_set_name()
    Input: bf54x-keys - fix debounce time validation
    Input: spitzkbd - mark probe function as __devinit
    Input: omap-keypad - mark probe function as __devinit
    Input: corgi_ts - mark probe function as __devinit
    Input: corgikbd - mark probe function as __devinit
    Input: uvc - the button on the camera is KEY_CAMERA
    Input: psmouse - make MOUSE_PS2_LIFEBOOK depend on X86
    Input: atkbd - make forced_release_keys[] static
    Input: usbtouchscreen - allow reporting calibrated data

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: don't call jbd2_journal_force_commit_nested without journal
    ext4: Reorder fs/Makefile so that ext2 root fs's are mounted using ext2
    ext4: Remove duplicate call to ext4_commit_super() in ext4_freeze()

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
    [SCSI] mpt: fix disable lsi sas to use msi as default
    [SCSI] fix ABORTED_COMMAND looping forever problem
    [SCSI] sd: revive sd_index_lock
    [SCSI] cxgb3i: update the driver version to 1.0.1
    [SCSI] cxgb3i: Fix spelling errors in documentation
    [SCSI] cxgb3i: added missing include in cxgb3i_ddp.h
    [SCSI] cxgb3i: Outgoing pdus need to observe skb's MAX_SKB_FRAGS
    [SCSI] cxgb3i: added per-task data to track transmit progress
    [SCSI] cxgb3i: transmit work-request fixes
    [SCSI] hptiop: Add new PCI device ID

    Linus Torvalds
     
  • On x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with
    ljmp, and then use the "syscall" instruction to make a 64-bit system
    call. A 64-bit process make a 32-bit system call with int $0x80.

    In both these cases under CONFIG_SECCOMP=y, secure_computing() will use
    the wrong system call number table. The fix is simple: test TS_COMPAT
    instead of TIF_IA32. Here is an example exploit:

    /* test case for seccomp circumvention on x86-64

    There are two failure modes: compile with -m64 or compile with -m32.

    The -m64 case is the worst one, because it does "chmod 777 ." (could
    be any chmod call). The -m32 case demonstrates it was able to do
    stat(), which can glean information but not harm anything directly.

    A buggy kernel will let the test do something, print, and exit 1; a
    fixed kernel will make it exit with SIGKILL before it does anything.
    */

    #define _GNU_SOURCE
    #include
    #include
    #include
    #include
    #include
    #include
    #include

    int
    main (int argc, char **argv)
    {
    char buf[100];
    static const char dot[] = ".";
    long ret;
    unsigned st[24];

    if (prctl (PR_SET_SECCOMP, 1, 0, 0, 0) != 0)
    perror ("prctl(PR_SET_SECCOMP) -- not compiled into kernel?");

    #ifdef __x86_64__
    assert ((uintptr_t) dot < (1UL << 32));
    asm ("int $0x80 # %0 st_uid=%u\n", st[7]);
    else
    ret = snprintf (buf, sizeof buf, "result %ld\n", ret);
    #else
    # error "not this one"
    #endif

    write (1, buf, ret);

    syscall (__NR_exit, 1);
    return 2;
    }

    Signed-off-by: Roland McGrath
    [ I don't know if anybody actually uses seccomp, but it's enabled in
    at least both Fedora and SuSE kernels, so maybe somebody is. - Linus ]
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • On x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with
    ljmp, and then use the "syscall" instruction to make a 64-bit system
    call. A 64-bit process make a 32-bit system call with int $0x80.

    In both these cases, audit_syscall_entry() will use the wrong system
    call number table and the wrong system call argument registers. This
    could be used to circumvent a syscall audit configuration that filters
    based on the syscall numbers or argument details.

    Signed-off-by: Roland McGrath
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • As described here: http://lkml.org/lkml/2009/2/20/265

    The CAFE chip is broken due to commit e809517f6fa5803a5a1cd5602.
    Anton added a quirk here: http://lkml.org/lkml/2009/2/20/279 that fixes
    CAFE's problem. This adds the quirk for CAFE.

    Signed-off-by: Andres Salomon
    Signed-off-by: Pierre Ossman

    Andres Salomon