Skip to content
Commits on Apr 11, 2011
  1. Merge branch 'configs-2.6.38' into pf-2.6.38

    Oleksandr Natalenko committed Apr 11, 2011
  2. configs-2.6.38: update config for Dell Inspiron 1525 laptop

    Oleksandr Natalenko committed Apr 11, 2011
  3. Merge branch 'version-2.6.38' into pf-2.6.38

    Oleksandr Natalenko committed Apr 11, 2011
  4. version-2.6.38: bump version to 2.6.38-pf3

    Oleksandr Natalenko committed Apr 11, 2011
  5. Merge branch 'fixes-2.6.38' into pf-2.6.38

    Oleksandr Natalenko committed Apr 11, 2011
  6. Restore the initialization of mmu_cr4_features during boot, which was

    removed without comment in checkin
    x86: Cleanup highmap after brk is concluded
    thereby breaking resume from hibernate.  This restores previous
    functionality in approximately the same place, and corrects the
    reading of %cr4 on pre-CPUID hardware (%cr4 exists if and only if
    		CPUID is supported.)
    However, part of the problem is that the hibernate suspend/resume
    sequence should manage the save/restore of %cr4 explicitly.
    Signed-off-by: H. Peter Anvin <>
    Cc: Rafael J. Wysocki <>
    Cc: Stefano Stabellini <>
    Cc: Yinghai Lu <>
    LKML-Reference: <>
    Oleksandr Natalenko committed Apr 11, 2011
Commits on Apr 9, 2011
  1. Merge branch 'ck-2.6.38' into pf-2.6.38

    Oleksandr Natalenko committed Apr 10, 2011
  2. ck-2.6.38: update BFS to v400

    Oleksandr Natalenko committed Apr 10, 2011
Commits on Apr 7, 2011
  1. Merge branch 'ck-2.6.38' into pf-2.6.38

    Oleksandr Natalenko committed Apr 7, 2011
  2. ck-2.6.38: update BFS to v376

    Oleksandr Natalenko committed Apr 7, 2011
  3. Revert "ck-2.6.38: update BFS to v374"

    This reverts commit f597dd0.
    Oleksandr Natalenko committed Apr 7, 2011
Commits on Apr 5, 2011
  1. Merge branch 'ck-2.6.38' into pf-2.6.38

    Oleksandr Natalenko committed Apr 5, 2011
  2. ck-2.6.38: update BFS to v374

    Oleksandr Natalenko committed Apr 5, 2011
Commits on Mar 28, 2011
  1. Merge branch 'version-2.6.38' into pf-2.6.38

    Oleksandr Natalenko committed Mar 28, 2011
  2. version-2.6.38: bump to v2.6.38-pf2

    Oleksandr Natalenko committed Mar 28, 2011
  3. fix merge conflict

    Oleksandr Natalenko committed Mar 28, 2011
Commits on Mar 27, 2011
  1. @NigelCunningham
  2. @gregkh


    gregkh committed Mar 27, 2011
  3. @amir73il @gregkh

    ext4: skip orphan cleanup if fs has unknown ROCOMPAT features

    commit d39195c upstream.
    Orphan cleanup is currently executed even if the file system has some
    number of unknown ROCOMPAT features, which deletes inodes and frees
    blocks, which could be very bad for some RO_COMPAT features,
    especially the SNAPSHOT feature.
    This patch skips the orphan cleanup if it contains readonly compatible
    features not known by this ext4 implementation, which would prevent
    the fs from being mounted (or remounted) readwrite.
    Signed-off-by: Amir Goldstein <>
    Signed-off-by: "Theodore Ts'o" <>
    Signed-off-by: Greg Kroah-Hartman <>
    amir73il committed with gregkh Feb 28, 2011
  4. @gregkh

    dcdbas: force SMI to happen when expected

    commit dd65c73 upstream.
    The dcdbas driver can do an I/O write to cause a SMI to occur.  The SMI handler
    looks at certain registers and memory locations, so the SMI needs to happen
    immediately.  On some systems I/O writes are posted, though, causing the SMI to
    happen well after the "outb" occurred, which causes random failures.  Following
    the "outb" with an "inb" forces the write to go through even if it is posted.
    Signed-off-by: Stuart Hayes <>
    Acked-by: Doug Warzecha <>
    Cc: Chuck Ebbert <>
    Signed-off-by: Jiri Kosina <>
    Signed-off-by: Greg Kroah-Hartman <>
    Stuart Hayes committed with gregkh Mar 2, 2011
  5. @gregkh

    fs: call security_d_instantiate in d_obtain_alias V2

    commit 24ff666 upstream.
    While trying to track down some NFS problems with BTRFS, I kept noticing I was
    getting -EACCESS for no apparent reason.  Eric Paris and printk() helped me
    figure out that it was SELinux that was giving me grief, with the following
    type=AVC msg=audit(1290013638.413:95): avc:  denied  { 0x800000 } for  pid=1772
    comm="nfsd" name="" dev=sda1 ino=256 scontext=system_u:system_r:kernel_t:s0
    tcontext=system_u:object_r:unlabeled_t:s0 tclass=file
    Turns out this is because in d_obtain_alias if we can't find an alias we create
    one and do all the normal instantiation stuff, but we don't do the
    Usually we are protected from getting a hashed dentry that hasn't yet run
    security_d_instantiate() by the parent's i_mutex, but obviously this isn't an
    option there, so in order to deal with the case that a second thread comes in
    and finds our new dentry before we get to run security_d_instantiate(), we go
    ahead and call it if we find a dentry already.  Eric assures me that this is ok
    as the code checks to see if the dentry has been initialized already so calling
    security_d_instantiate() against the same dentry multiple times is ok.  With
    this patch I'm no longer getting errant -EACCESS values.
    Signed-off-by: Josef Bacik <>
    Signed-off-by: Al Viro <>
    Cc: Chuck Ebbert <>
    Signed-off-by: Greg Kroah-Hartman <>
    Josef Bacik committed with gregkh Nov 18, 2010
  6. @gregkh

    SUNRPC: Never reuse the socket port after an xs_close()

    commit 246408d upstream.
    If we call xs_close(), we're in one of two situations:
     - Autoclose, which means we don't expect to resend a request
     - bind+connect failed, which probably means the port is in use
    Signed-off-by: Trond Myklebust <>
    Signed-off-by: Greg Kroah-Hartman <>
    Trond Myklebust committed with gregkh Mar 22, 2011
  7. @gregkh

    NFS: Fix a hang/infinite loop in nfs_wb_page()

    commit b8413f9 upstream.
    When one of the two waits in nfs_commit_inode() is interrupted, it
    returns a non-negative value, which causes nfs_wb_page() to think
    that the operation was successful causing it to busy-loop rather
    than exiting.
    It also causes nfs_file_fsync() to incorrectly report the file as
    being successfully committed to disk.
    This patch fixes both problems by ensuring that we return an error
    if the attempts to wait fail.
    Signed-off-by: Trond Myklebust <>
    Signed-off-by: Greg Kroah-Hartman <>
    Trond Myklebust committed with gregkh Mar 21, 2011
  8. @gregkh

    perf: Fix tear-down of inherited group events

    commit 38b435b upstream.
    When destroying inherited events, we need to destroy groups too,
    otherwise the event iteration in perf_event_exit_task_context() will
    miss group siblings and we leak events with all the consequences.
    Reported-and-tested-by: Vince Weaver <>
    Signed-off-by: Peter Zijlstra <>
    LKML-Reference: <1300196470.2203.61.camel@twins>
    Signed-off-by: Ingo Molnar <>
    Signed-off-by: Greg Kroah-Hartman <>
    Peter Zijlstra committed with gregkh Mar 15, 2011
  9. @gregkh

    drm/radeon/kms: fix hardcoded EDID handling

    commit fafcf94 upstream.
    On some servers there is a hardcoded EDID provided
    in the vbios so that the driver will always see a
    display connected even if something like a KVM
    prevents traditional means like DDC or load
    detection from working properly.  Also most
    server boards with DVI are not actually DVI, but
    DVO connected to a virtual KVM service processor.
    If we fail to detect a monitor via DDC or load
    detection and a hardcoded EDID is available, use
    Additionally, when using the hardcoded EDID, use
    a copy of it rather than the actual one stored
    in the driver as the detect() and get_modes()
    functions may free it if DDC is successful.
    This fixes the virtual KVM on several internal
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
    Alex Deucher committed with gregkh Mar 23, 2011
  10. @gregkh

    drm/radeon/kms: prefer legacy pll algo for tv-out

    commit 64146f8 upstream.
    ntsc seems to work fine with either algo, some
    pal TVs seem pickier.
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
    Alex Deucher committed with gregkh Mar 22, 2011
  11. @ickle @gregkh

    drm: Fix use-after-free in drm_gem_vm_close()

    commit b74ad5a upstream.
    As we may release the last reference, we need to store the device in a
    local variable in order to unlock afterwards.
    [   60.140768] BUG: unable to handle kernel paging request at 6b6b6b9f
    [   60.140973] IP: [<c1536d11>] __mutex_unlock_slowpath+0x5a/0x111
    [   60.141014] *pdpt = 0000000024a54001 *pde = 0000000000000000
    [   60.141014] Oops: 0002 [#1] PREEMPT SMP
    [   60.141014] last sysfs file: /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/PNP0C0A:00/power_supply/BAT0/voltage_now
    [   60.141014] Modules linked in: uvcvideo ath9k pegasus ath9k_common ath9k_hw hid_egalax ath3k joydev asus_laptop sparse_keymap battery input_polldev
    [   60.141014]
    [   60.141014] Pid: 771, comm: meego-ux-daemon Not tainted #1 EXOPC EXOPG06411/EXOPG06411
    [   60.141014] EIP: 0060:[<c1536d11>] EFLAGS: 00010046 CPU: 0
    [   60.141014] EIP is at __mutex_unlock_slowpath+0x5a/0x111
    [   60.141014] EAX: 00000100 EBX: 6b6b6b9b ECX: e9b4a1b0 EDX: e4a4e580
    [   60.141014] ESI: db162558 EDI: 00000246 EBP: e480be50 ESP: e480be44
    [   60.141014]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    [   60.141014] Process meego-ux-daemon (pid: 771, ti=e480a000 task=e9b4a1b0 task.ti=e480a000)
    [   60.141014] Stack:
    [   60.141014]  e4a4e580 db162558 f5a2f838 e480be58 c1536dd0 e480be68 c125ab1b db162558
    [   60.141014]  db1624e0 e480be78 c10ba071 db162558 f760241c e480be94 c10bb0bc 000155fe
    [   60.141014]  f760241c f5a2f838 f5a2f8c8 00000000 e480bea4 c1037c24 00000000 f5a2f838
    [   60.141014] Call Trace:
    [   60.141014]  [<c1536dd0>] ? mutex_unlock+0x8/0xa
    [   60.141014]  [<c125ab1b>] ? drm_gem_vm_close+0x39/0x3d
    [   60.141014]  [<c10ba071>] ? remove_vma+0x2d/0x58
    [   60.141014]  [<c10bb0bc>] ? exit_mmap+0x126/0x13f
    [   60.141014]  [<c1037c24>] ? mmput+0x37/0x9a
    [   60.141014]  [<c10d450d>] ? exec_mmap+0x178/0x19c
    [   60.141014]  [<c1537f85>] ? _raw_spin_unlock+0x1d/0x36
    [   60.141014]  [<c10d4eb0>] ? flush_old_exec+0x42/0x75
    [   60.141014]  [<c1104442>] ? load_elf_binary+0x32a/0x922
    [   60.141014]  [<c10d3f76>] ? search_binary_handler+0x200/0x2ea
    [   60.141014]  [<c10d3ecf>] ? search_binary_handler+0x159/0x2ea
    [   60.141014]  [<c1104118>] ? load_elf_binary+0x0/0x922
    [   60.141014]  [<c10d56b2>] ? do_execve+0x1ff/0x2e6
    [   60.141014]  [<c100970e>] ? sys_execve+0x2d/0x55
    [   60.141014]  [<c1002a5a>] ? ptregs_execve+0x12/0x18
    [   60.141014]  [<c10029dc>] ? sysenter_do_call+0x12/0x3c
    [   60.141014]  [<c1530000>] ? init_centaur+0x9c/0x1ba
    [   60.141014] Code: c1 00 75 0f ba 38 01 00 00 b8 8c 3a 6c c1 e8 cc 2e b0 ff 9c 58 8d 74 26 00 89 c7 fa 90 8d 74 26 00 e8 d2 b4 b2 ff b8 00 01 00 00 <f0> 66 0f c1 43 04 38 e0 74 07 f3 90 8a 43 04 eb f5 83 3d 64 ef
    [   60.141014] EIP: [<c1536d11>] __mutex_unlock_slowpath+0x5a/0x111 SS:ESP 0068:e480be44
    [   60.141014] CR2: 000000006b6b6b9f
    Reported-by: Rusty Lynch <>
    Signed-off-by: Chris Wilson <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
    ickle committed with gregkh Mar 17, 2011
  12. @gregkh

    drm/i915: Prevent racy removal of request from client list

    commit 09bfa51 upstream.
    When i915_gem_retire_requests_ring calls i915_gem_request_remove_from_client,
    the client_list for that request may already be removed in i915_gem_release.
    So we may call twice list_del(&request->client_list), resulting in an
    oops like this report:
    [126167.230394] BUG: unable to handle kernel paging request at 00100104
    [126167.230699] IP: [<f8c2ce44>] i915_gem_retire_requests_ring+0xd4/0x240 [i915]
    [126167.231042] *pdpt = 00000000314c1001 *pde = 0000000000000000
    [126167.231314] Oops: 0002 [#1] SMP
    [126167.231471] last sysfs file: /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT1/current_now
    [126167.231901] Modules linked in: snd_seq_dummy nls_utf8 isofs btrfs zlib_deflate libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs exportfs reiserfs cryptd aes_i586 aes_generic binfmt_misc vboxnetadp vboxnetflt vboxdrv parport_pc ppdev snd_hda_codec_hdmi snd_hda_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep arc4 snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq uvcvideo videodev snd_timer snd_seq_device joydev iwlagn iwlcore mac80211 snd cfg80211 soundcore i915 drm_kms_helper snd_page_alloc psmouse drm serio_raw i2c_algo_bit video lp parport usbhid hid sky2 sdhci_pci ahci sdhci libahci
    [126167.232018] Pid: 1101, comm: Xorg Not tainted 2.6.38-6-generic-pae #34-Ubuntu Gateway                          MC7833U /
    [126167.232018] EIP: 0060:[<f8c2ce44>] EFLAGS: 00213246 CPU: 0
    [126167.232018] EIP is at i915_gem_retire_requests_ring+0xd4/0x240 [i915]
    [126167.232018] EAX: 00200200 EBX: f1ac25b0 ECX: 00000040 EDX: 00100100
    [126167.232018] ESI: f1a2801c EDI: e87fc060 EBP: ef4d7dd8 ESP: ef4d7db0
    [126167.232018]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    [126167.232018] Process Xorg (pid: 1101, ti=ef4d6000 task=f1ba6500 task.ti=ef4d6000)
    [126167.232018] Stack:
    [126167.232018]  f1a28000 f1a2809c f1a28094 0058bd97 f1aa2400 f1a2801c 0058bd7b 0058bd85
    [126167.232018]  f1a2801c f1a28000 ef4d7e38 f8c2e995 ef4d7e30 ef4d7e60 c14d1ebc f6b3a040
    [126167.232018]  f1522cc0 000000db 00000000 f1ba6500 ffffffa1 00000000 00000001 f1a29214
    [126167.232018] Call Trace:
    Unfortunately the call trace reported was cut, but looking at debug
    symbols the crash is at __list_del, when probably list_del is called
    twice on the same request->client_list, as the dereferenced value is
    LIST_POISON1 + 4, and by looking more at the debug symbols before
    list_del call it should have being called by
    And as I can see in the code, it seems we indeed have the possibility
    to remove a request->client_list twice, which would cause the above,
    because we do list_del(&request->client_list) on both
    i915_gem_request_remove_from_client and i915_gem_release
    As Chris Wilson pointed out, it's indeed the case:
    "(...) I had thought that the actual insertion/deletion was serialised
    under the struct mutex and the intention of the spinlock was to protect
    the unlocked list traversal during throttling. However, I missed that
    i915_gem_release() is also called without struct mutex and so we do need
    the double check for i915_gem_request_remove_from_client()."
    This change does the required check to avoid the duplicate remove of
    Signed-off-by: Herton Ronaldo Krzesinski <>
    Signed-off-by: Chris Wilson <>
    Signed-off-by: Greg Kroah-Hartman <>
    Herton Ronaldo Krzesinski committed with gregkh Mar 17, 2011
  13. @ickle @gregkh

    drm/i915: Disable pagefaults along execbuffer relocation fast path

    commit d4aeee7 upstream.
    Along the fast path for relocation handling, we attempt to copy directly
    from the user data structures whilst holding our mutex. This causes
    lockdep to warn about circular lock dependencies if we need to pagefault
    the user pages. [Since when handling a page fault on a mmapped bo, we
    need to acquire the struct mutex whilst already holding the mm
    semaphore, it is then verboten to acquire the mm semaphore when already
    holding the struct mutex. The likelihood of the user passing in the
    relocations contained in a GTT mmaped bo is low, but conceivable for
    extreme pathology.] In order to force the mm to return EFAULT rather
    than handle the pagefault, we therefore need to disable pagefaults
    across the relocation fast path.
    Signed-off-by: Chris Wilson <>
    Reviewed-by: Daniel Vetter <>
    Signed-off-by: Greg Kroah-Hartman <>
    ickle committed with gregkh Mar 14, 2011
  14. @theif @gregkh

    drm: check for modesetting on modeset ioctls

    commit fb3b06c upstream.
    Noticed this while working on some other things, helps if we check for modeset
    enabled on modesetting ioctls.
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
    theif committed with gregkh Feb 8, 2011
  15. @gregkh

    x86: Cleanup highmap after brk is concluded

    commit e5f15b4 upstream.
    Now cleanup_highmap actually is in two steps: one is early in head64.c
    and only clears above _end; a second one is in init_memory_mapping() and
    tries to clean from _brk_end to _end.
    It should check if those boundaries are PMD_SIZE aligned but currently
    does not.
    Also init_memory_mapping() is called several times for numa or memory
    hotplug, so we really should not handle initial kernel mappings there.
    This patch moves cleanup_highmap() down after _brk_end is settled so
    we can do everything in one step.
    Also we honor max_pfn_mapped in the implementation of cleanup_highmap.
    Signed-off-by: Yinghai Lu <>
    Signed-off-by: Stefano Stabellini <>
    LKML-Reference: <alpine.DEB.2.00.1103171739050.3382@kaball-desktop>
    Signed-off-by: H. Peter Anvin <>
    Signed-off-by: Greg Kroah-Hartman <>
    Yinghai Lu committed with gregkh Feb 18, 2011
  16. @gregkh

    fs: assign sb->s_bdi to default_backing_dev_info if the bdi is going …

    commit 95f2860 upstream.
    We don't have proper reference counting for this yet, so we run into
    cases where the device is pulled and we OOPS on flushing the fs data.
    This happens even though the dirty inodes have already been
    migrated to the default_backing_dev_info.
    Reported-by: Torsten Hilbrich <>
    Tested-by: Torsten Hilbrich <>
    Signed-off-by: Jens Axboe <>
    Signed-off-by: Greg Kroah-Hartman <>
    Jens Axboe committed with gregkh Mar 17, 2011
  17. @gregkh

    fix deadlock in pivot_root()

    commit 27cb157 upstream.
    Don't hold vfsmount_lock over the loop traversing ->mnt_parent;
    do check_mnt(new.mnt) under namespace_sem instead; combined with
    namespace_sem held over all that code it'll guarantee the stability
    of ->mnt_parent chain all the way to the root.
    Doing check_mnt() outside of namespace_sem in case of pivot_root()
    is wrong anyway.
    Signed-off-by: Al Viro <>
    Signed-off-by: Greg Kroah-Hartman <>
    Al Viro committed with gregkh Mar 18, 2011
  18. @jhovold @gregkh

    USB: cdc-acm: fix potential null-pointer dereference on disconnect

    commit 7e7797e upstream.
    Fix potential null-pointer exception on disconnect introduced by commit
    11ea859 (USB: additional power savings
    for cdc-acm devices that support remote wakeup).
    Only access acm->dev after making sure it is non-null in control urb
    completion handler.
    Signed-off-by: Johan Hovold <>
    Signed-off-by: Greg Kroah-Hartman <>
    jhovold committed with gregkh Mar 22, 2011
Something went wrong with that request. Please try again.