26 Oct, 2012

3 commits

  • …g/efi into x86/urgent

    Pull EFI fixes from Matt Fleming:

    "Fix oops with EFI variables on mixed 32/64-bit firmware/kernels and
    document EFI git repository location on kernel.org."

    Conflicts:
    arch/x86/include/asm/efi.h

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Commit

    844ab6f9 x86, mm: Find_early_table_space based on ranges that are actually being mapped

    added back some lines back wrongly that has been removed in commit

    7b16bbf97 Revert "x86/mm: Fix the size calculation of mapping tables"

    remove them again.

    Signed-off-by: Yinghai Lu
    Link: http://lkml.kernel.org/r/CAE9FiQW_vuaYQbmagVnxT2DGsYc=9tNeAbdBq53sYkitPOwxSQ@mail.gmail.com
    Acked-by: Jacob Shin
    Signed-off-by: H. Peter Anvin

    Yinghai Lu
     
  • When 32-bit EFI is used with 64-bit kernel (or vice versa), turn off
    efi_enabled once setup is done. Beyond setup, it is normally used to
    determine if runtime services are available and we will have none.

    This will resolve issues stemming from efivars modprobe panicking on a
    32/64-bit setup, as well as some reboot issues on similar setups.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45991

    Reported-by: Marko Kohtala
    Reported-by: Maxim Kammerer
    Signed-off-by: Olof Johansson
    Acked-by: Maarten Lankhorst
    Cc: stable@kernel.org # 3.4 - 3.6
    Cc: Matthew Garrett
    Signed-off-by: Matt Fleming

    Olof Johansson
     

25 Oct, 2012

3 commits

  • Current logic finds enough space for direct mapping page tables from 0
    to end. Instead, we only need to find enough space to cover mr[0].start
    to mr[nr_range].end -- the range that is actually being mapped by
    init_memory_mapping()

    This is needed after 1bbbbe779aabe1f0768c2bf8f8c0a5583679b54a, to address
    the panic reported here:

    https://lkml.org/lkml/2012/10/20/160
    https://lkml.org/lkml/2012/10/21/157

    Signed-off-by: Jacob Shin
    Link: http://lkml.kernel.org/r/20121024195311.GB11779@jshin-Toonie
    Tested-by: Tom Rini
    Signed-off-by: H. Peter Anvin

    Jacob Shin
     
  • We need to handle E820_RAM and E820_RESERVED_KERNEL at the same time.

    Also memblock has page aligned range for ram, so we could avoid mapping
    partial pages.

    Signed-off-by: Yinghai Lu
    Link: http://lkml.kernel.org/r/CAE9FiQVZirvaBMFYRfXMmWEcHbKSicQEHz4VAwUv0xFCk51ZNw@mail.gmail.com
    Acked-by: Jacob Shin
    Signed-off-by: H. Peter Anvin
    Cc:

    Yinghai Lu
     
  • We will not map partial pages, so need to make sure memblock
    allocation will not allocate those bytes out.

    Also we will use for_each_mem_pfn_range() to loop to map memory
    range to keep them consistent.

    Signed-off-by: Yinghai Lu
    Link: http://lkml.kernel.org/r/CAE9FiQVZirvaBMFYRfXMmWEcHbKSicQEHz4VAwUv0xFCk51ZNw@mail.gmail.com
    Acked-by: Jacob Shin
    Signed-off-by: H. Peter Anvin
    Cc:

    Yinghai Lu
     

24 Oct, 2012

12 commits

  • Posting this patch to fix an issue concerning sparse irq's that
    I raised a while back. There was discussion about adding
    refcounting to sparse irqs (to fix other potential race
    conditions), but that does not appear to have been addressed
    yet. This covers the only issue of this type that I've
    encountered in this area.

    A NULL pointer dereference can occur in
    smp_irq_move_cleanup_interrupt() if we haven't yet setup the
    irq_cfg pointer in the irq_desc.irq_data.chip_data.

    In create_irq_nr() there is a window where we have set
    vector_irq in __assign_irq_vector(), but not yet called
    irq_set_chip_data() to set the irq_cfg pointer.

    Should an IRQ_MOVE_CLEANUP_VECTOR hit the cpu in question during
    this time, smp_irq_move_cleanup_interrupt() will attempt to
    process the aforementioned irq, but panic when accessing
    irq_cfg.

    Only continue processing the irq if irq_cfg is non-NULL.

    Signed-off-by: Dimitri Sivanich
    Cc: Suresh Siddha
    Cc: Joerg Roedel
    Cc: Yinghai Lu
    Cc: Alexander Gordeev
    Link: http://lkml.kernel.org/r/20121016125021.GA22935@sgi.com
    Signed-off-by: Ingo Molnar

    Dimitri Sivanich
     
  • Calling __pa() with an ioremap'd address is invalid. If we
    encounter an efi_memory_desc_t without EFI_MEMORY_WB set in
    ->attribute we currently call set_memory_uc(), which in turn
    calls __pa() on a potentially ioremap'd address.

    On CONFIG_X86_32 this results in the following oops:

    BUG: unable to handle kernel paging request at f7f22280
    IP: [] reserve_ram_pages_type+0x89/0x210
    *pdpt = 0000000001978001 *pde = 0000000001ffb067 *pte = 0000000000000000
    Oops: 0000 [#1] PREEMPT SMP
    Modules linked in:

    Pid: 0, comm: swapper Not tainted 3.0.0-acpi-efi-0805 #3
    EIP: 0060:[] EFLAGS: 00010202 CPU: 0
    EIP is at reserve_ram_pages_type+0x89/0x210
    EAX: 0070e280 EBX: 38714000 ECX: f7814000 EDX: 00000000
    ESI: 00000000 EDI: 38715000 EBP: c189fef0 ESP: c189fea8
    DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    Process swapper (pid: 0, ti=c189e000 task=c18bbe60 task.ti=c189e000)
    Stack:
    80000200 ff108000 00000000 c189ff00 00038714 00000000 00000000 c189fed0
    c104f8ca 00038714 00000000 00038715 00000000 00000000 00038715 00000000
    00000010 38715000 c189ff48 c1025aff 38715000 00000000 00000010 00000000
    Call Trace:
    [] ? page_is_ram+0x1a/0x40
    [] reserve_memtype+0xdf/0x2f0
    [] set_memory_uc+0x49/0xa0
    [] efi_enter_virtual_mode+0x1c2/0x3aa
    [] start_kernel+0x291/0x2f2
    [] ? loglevel+0x1b/0x1b
    [] i386_start_kernel+0xbf/0xc8

    The only time we can call set_memory_uc() for a memory region is
    when it is part of the direct kernel mapping. For the case where
    we ioremap a memory region we must leave it alone.

    This patch reimplements the fix from e8c7106280a3 ("x86, efi:
    Calling __pa() with an ioremap()ed address is invalid") which
    was reverted in e1ad783b12ec because it caused a regression on
    some MacBooks (they hung at boot). The regression was caused
    because the commit only marked EFI_RUNTIME_SERVICES_DATA as
    E820_RESERVED_EFI, when it should have marked all regions that
    have the EFI_MEMORY_RUNTIME attribute.

    Despite first impressions, it's not possible to use
    ioremap_cache() to map all cached memory regions on
    CONFIG_X86_64 because of the way that the memory map might be
    configured as detailed in the following bug report,

    https://bugzilla.redhat.com/show_bug.cgi?id=748516

    e.g. some of the EFI memory regions *need* to be mapped as part
    of the direct kernel mapping.

    Signed-off-by: Matt Fleming
    Cc: Matthew Garrett
    Cc: Zhang Rui
    Cc: Huang Ying
    Cc: Keith Packard
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/1350649546-23541-1-git-send-email-matt@console-pimps.org
    Signed-off-by: Ingo Molnar

    Matt Fleming
     
  • Commit 20167d3421a089a1bf1bd680b150dc69c9506810 ("x86-64: Fix
    accounting in kernel_physical_mapping_init()") went a little too
    far by entirely removing the counting of pre-populated page
    tables: this should be done at boot time (to cover the page
    tables set up in early boot code), but shouldn't be done during
    memory hot add.

    Hence, re-add the removed increments of "pages", but make them
    and the one in phys_pte_init() conditional upon !after_bootmem.

    Reported-Acked-and-Tested-by: Hugh Dickins
    Signed-off-by: Jan Beulich
    Cc:
    Link: http://lkml.kernel.org/r/506DAFBA020000780009FA8C@nat28.tlf.novell.com
    Signed-off-by: Ingo Molnar

    Jan Beulich
     
  • Commit:

    722bc6b16771 x86/mm: Fix the size calculation of mapping tables

    Tried to address the issue that the first 2/4M should use 4k pages
    if PSE enabled, but extra counts should only be valid for x86_32.

    This commit caused a kdump regression: the kdump kernel hangs.

    Work is in progress to fundamentally fix the various page table
    initialization issues that we have, via the design suggested
    by H. Peter Anvin, but it's not ready yet to be merged.

    So, to get a working kdump revert to the last known working version,
    which is the revert of this commit and of a followup fix (which was
    incomplete):

    bd2753b2dda7 x86/mm: Only add extra pages count for the first memory range during pre-allocation

    Tested kdump on physical and virtual machines.

    Signed-off-by: Dave Young
    Acked-by: Yinghai Lu
    Acked-by: Cong Wang
    Acked-by: Flavio Leitner
    Tested-by: Flavio Leitner
    Cc: Dan Carpenter
    Cc: Cong Wang
    Cc: Flavio Leitner
    Cc: Tejun Heo
    Cc: ianfang.cn@gmail.com
    Cc: Vivek Goyal
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc:
    Signed-off-by: Ingo Molnar

    Dave Young
     
  • Pull xen bug-fixes from Konrad Rzeszutek Wilk:
    - Fix mysterious SIGSEGV or SIGKILL in applications due to corrupting
    of the %eip when returning from a signal handler.
    - Fix various ARM compile issues after the merge fallout.
    - Continue on making more of the Xen generic code usable by ARM
    platform.
    - Fix SR-IOV passthrough to mirror multifunction PCI devices.
    - Fix various compile warnings.
    - Remove hypercalls that don't exist anymore.

    * tag 'stable/for-linus-3.7-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: dbgp: Fix warning when CONFIG_PCI is not enabled.
    xen: arm: comment on why 64-bit xen_pfn_t is safe even on 32 bit
    xen: balloon: use correct type for frame_list
    xen/x86: don't corrupt %eip when returning from a signal handler
    xen: arm: make p2m operations NOPs
    xen: balloon: don't include e820.h
    xen: grant: use xen_pfn_t type for frame_list.
    xen: events: pirq_check_eoi_map is X86 specific
    xen: XENMEM_translate_gpfn_list was remove ages ago and is unused.
    xen: sysfs: fix build warning.
    xen: sysfs: include err.h for PTR_ERR etc
    xen: xenbus: quirk uses x86 specific cpuid
    xen PV passthru: assign SR-IOV virtual functions to separate virtual slots
    xen/xenbus: Fix compile warning.
    xen/x86: remove duplicated include from enlighten.c

    Linus Torvalds
     
  • ... and fix the race in updating unaligned control ones

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

    Al Viro
     
  • Pull kvm fixes from Avi Kivity:
    "KVM updates for 3.7-rc2"

    * tag 'kvm-3.7-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM guest: exit idleness when handling KVM_PV_REASON_PAGE_NOT_PRESENT
    KVM: apic: fix LDR calculation in x2apic mode
    KVM: MMU: fix release noslot pfn

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Most of these are uprobes race fixes from Oleg, and their preparatory
    cleanups. (It's larger than what I'd normally send for an -rc kernel,
    but they looked significant enough to not delay them.)

    There's also an oprofile fix and an uncore PMU fix."

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    perf/x86: Disable uncore on virtualized CPUs
    oprofile, x86: Fix wrapping bug in op_x86_get_ctrl()
    ring-buffer: Check for uninitialized cpu buffer before resizing
    uprobes: Fix the racy uprobe->flags manipulation
    uprobes: Fix prepare_uprobe() race with itself
    uprobes: Introduce prepare_uprobe()
    uprobes: Fix handle_swbp() vs unregister() + register() race
    uprobes: Do not delete uprobe if uprobe_unregister() fails
    uprobes: Don't return success if alloc_uprobe() fails
    uprobes/x86: Only rep+nop can be emulated correctly
    uprobes: Simplify is_swbp_at_addr(), remove stale comments
    uprobes: Kill set_orig_insn()->is_swbp_at_addr()
    uprobes: Introduce copy_opcode(), kill read_opcode()
    uprobes: Kill set_swbp()->is_swbp_at_addr()
    uprobes: Restrict valid_vma(false) to skip VM_SHARED vmas
    uprobes: Change valid_vma() to demand VM_MAYEXEC rather than VM_EXEC
    uprobes: Change write_opcode() to use FOLL_FORCE
    uprobes: Move clear_thread_flag(TIF_UPROBE) to uprobe_notify_resume()
    uprobes: Kill UTASK_BP_HIT state
    uprobes: Fix UPROBE_SKIP_SSTEP checks in handle_swbp()
    ...

    Linus Torvalds
     
  • Pull core kernel fixes from Ingo Molnar:
    "Two small fixes"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    Documentation: Reflect the new location of the NMI watchdog info
    nohz: Fix idle ticks in cpu summary line of /proc/stat

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "Among the usual minor bug fixes the more interesting patches are the
    perf counters for the latest machine, the missing select to enable
    transparent huge pages and a build fix for the UAPI rework."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390,uapi: do not use uapi/asm-generic/kvm_para.h
    s390/cache: fix data/instruction cache output
    s390: fix linker script for 31 bit builds
    s390/thp: select HAVE_ARCH_TRANSPARENT_HUGEPAGE
    s390/kdump: Use 64 bit mode for 0x10000 entry point
    perf_cpum_cf: Add support for counters available with IBM zEC12
    s390/css: stop stsch loop after cc 3
    s390/cio: use generic bitmap functions
    s390/chpid: make headers usable (again)

    Linus Torvalds
     
  • Pull tile fixes from Chris Metcalf:
    "This fixes one issue with compiler flags that can cause modules not to
    load, and cleans up some warnings with ELF_R_xxx defines."

    * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    arch/tile: avoid build warnings from duplicate ELF_R_xxx #defines
    arch/tile: avoid generating .eh_frame information in modules

    Linus Torvalds
     
  • Pull ia64 fix from Tony Luck:
    "Fix from dhowells for UAPI fallout"

    * tag 'please-pull-uapi-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    UAPI: Make arch/ia64/include/asm/kvm_para.h generic

    Linus Torvalds
     

23 Oct, 2012

17 commits

  • These are now provided in , so clean up warnings
    by not re-defining them in module.c.

    Signed-off-by: Chris Metcalf
    Acked-by: Rusty Russell

    Chris Metcalf
     
  • The tile tool chain uses the .eh_frame information for backtracing.
    The vmlinux build drops any .eh_frame sections at link time, but when
    present in kernel modules, it causes a module load failure due to the
    presence of unsupported pc-relative relocations. When compiling to
    use compiler feedback support, the compiler by default omits .eh_frame
    information, so we don't see this problem. But when not using feedback,
    we need to explicitly suppress the .eh_frame.

    Signed-off-by: Chris Metcalf
    Cc: stable@vger.kernel.org

    Chris Metcalf
     
  • Pull drm fixes from Dave Airlie:
    "Fixes for intel and nouveau mainly.

    - intel: disable HSW by default, sdvo fixes, link train regression
    fix
    - nouveau: acpi rom loading regression fix, with a few other fixes
    from the rework
    -core: just other minor fixes and race fixes for ttm."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (24 commits)
    drm/ttm: Fix a theoretical race in ttm_bo_cleanup_refs()
    drm/ttm: Fix a theoretical race
    drm: platform: Don't initialize driver-private data
    drm/debugfs: remove redundant info from gem_names
    drm: fb: cma: Fail gracefully on allocation failure
    drm: fb: cma: Fix typo in debug message
    drm/nouveau/clock: fix missing pll type/addr when matching default entry
    drm/nouveau/fb: fix reporting of memory type on GF8+ IGPs
    drm/nv41/vm: don't init hw pciegart on boards with agp bridge
    drm/nouveau/bios: fetch full 4KiB block to determine ACPI ROM image size
    drm/nouveau: validate vbios size
    drm/nouveau: warn when trying to free mm which is still in use
    drm/nouveau: fix nouveau_mm/nouveau_mm_node leak
    drm/nouveau/bios: improve error handling when reading the vbios from ACPI
    drm/nouveau: handle same-fb page flips
    drm/i915: Initialize obj->pages before use by i915_gem_object_do_bit17_swizzle()
    drm/i915: Add no-lvds quirk for Supermicro X7SPA-H
    drm/i915: Insert i915_preliminary_hw_support variable.
    drm/i915: shut up spurious WARN in the gtt fault handler
    Revert "drm/i915: Try harder to complete DP training pattern 1"
    ...

    Linus Torvalds
     
  • Pull jfs fix from Dave Kleikamp:
    "Bug fix: Fix FITRIM argument handling"

    * tag 'jfs-3.7-2' of git://github.com/kleikamp/linux-shaggy:
    jfs: Fix FITRIM argument handling

    Linus Torvalds
     
  • Pull ext4 fixes from Ted Ts'o:
    "Various bug fixes for ext4. The most serious of them fixes a security
    bug (CVE-2012-4508) which leads to stale data exposure when we have
    fallocate racing against writes to files undergoing delayed
    allocation. We also have two fixes for the metadata checksum feature,
    the most serious of which can cause the superblock to have a invalid
    checksum after a power failure."

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: Avoid underflow in ext4_trim_fs()
    ext4: Checksum the block bitmap properly with bigalloc enabled
    ext4: fix undefined bit shift result in ext4_fill_flex_info
    ext4: fix metadata checksum calculation for the superblock
    ext4: race-condition protection for ext4_convert_unwritten_extents_endio
    ext4: serialize fallocate with ext4_convert_unwritten_extents

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:
    - Do not call pnfs_return_layout() from an rpciod context
    - nfs4_ds_disconnect can cause Oopses. Kill it...
    - Fix the return value for nfs_callback_start_svc
    - Fix a number of compile warnings

    * tag 'nfs-for-3.7-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFSv4: Fix the return value for nfs_callback_start_svc
    NFSv4.1: Declare osd_pri_2_pnfs_err(), objio_init_read/write to be static
    NFSv4: fs/nfs/nfs4getroot.c needs to include "internal.h"
    NFSv4.1: Use kcalloc() to allocate zeroed arrays instead of kzalloc()
    NFSv4.1: Do not call pnfs_return_layout() from an rpciod context
    NFSv4.1: Kill nfs4_ds_disconnect()

    Linus Torvalds
     
  • Pull regmap fix from Mark Brown:
    "regmap: Fix for dependencies for MMIO

    Trivial dependency issue, not noticed before as the only user of MMIO
    also needs I2C."

    * tag 'regmap-fix-mmio' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: select REGMAP if REGMAP_MMIO and REGMAP_IRQ enabled

    Linus Torvalds
     
  • In theory, that function could release the lru lock between
    checking for bo on ddestroy list and a successful reserve if the bo
    was already reserved, and the function was called with waiting reserves
    allowed.
    However, all current reservers of a bo on the ddestroy list would
    atomically take the bo off the list after a successful reserve so this
    race should not have been hit, so no need to backport for stable.

    This patch also fixes a case found by Maarten Lankhorst where
    ttm_mem_evict_first called with no_wait_gpu would incorrectly
    spin waiting for bo idle if trying to evict a busy buffer that
    also sits on the ddestroy list.

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

    Thomas Hellstrom
     
  • The ttm_mem_evict_first function could theoretically drop the
    lru lock without retrying if a reservation from off the LRU list
    ended up waiting.
    However, since currently there are no users that could cause a wait
    in that situation so this is not suitable for stable

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

    Thomas Hellstrom
     
  • Platform device drivers usually use the driver-private data for their
    own purposes. Having it overwritten by drm_platform_init() is confusing
    and error-prone.

    Signed-off-by: Thierry Reding
    Signed-off-by: Dave Airlie

    Thierry Reding
     
  • It's a relic of "drm: Convert proc files to seq_file and introduce debugfs",
    which wrongly converted DRM_INFO + sprintf to 2 seq_printfs.

    Signed-off-by: Marcin Slusarz
    Cc: Ben Gamari
    Cc: Eric Anholt
    Signed-off-by: Dave Airlie

    Marcin Slusarz
     
  • The drm_gem_cma_create() function never returns NULL but rather an error
    encoded in the return value using the ERR_PTR() macro. Callers therefore
    need to check for errors using the IS_ERR() macro. This change allows
    drivers to handle contiguous DMA allocation failures gracefully.

    Signed-off-by: Thierry Reding
    Acked-by: Sascha Hauer
    Signed-off-by: Dave Airlie

    Thierry Reding
     
  • The debug message showing the resolution of a framebuffer to be
    allocated is missing a closing parenthesis.

    Signed-off-by: Thierry Reding
    Signed-off-by: Dave Airlie

    Thierry Reding
     
  • Currently if len argument in ext4_trim_fs() is smaller than one block,
    the 'end' variable underflow. Avoid that by returning EINVAL if len is
    smaller than file system block.

    Also remove useless unlikely().

    Signed-off-by: Lukas Czerner
    Signed-off-by: "Theodore Ts'o"
    Cc: stable@vger.kernel.org

    Lukas Czerner
     
  • KVM_PV_REASON_PAGE_NOT_PRESENT kicks cpu out of idleness, but we haven't
    marked that spot as an exit from idleness.

    Not doing so can cause RCU warnings such as:

    [ 732.788386] ===============================
    [ 732.789803] [ INFO: suspicious RCU usage. ]
    [ 732.790032] 3.7.0-rc1-next-20121019-sasha-00002-g6d8d02d-dirty #63 Tainted: G W
    [ 732.790032] -------------------------------
    [ 732.790032] include/linux/rcupdate.h:738 rcu_read_lock() used illegally while idle!
    [ 732.790032]
    [ 732.790032] other info that might help us debug this:
    [ 732.790032]
    [ 732.790032]
    [ 732.790032] RCU used illegally from idle CPU!
    [ 732.790032] rcu_scheduler_active = 1, debug_locks = 1
    [ 732.790032] RCU used illegally from extended quiescent state!
    [ 732.790032] 2 locks held by trinity-child31/8252:
    [ 732.790032] #0: (&rq->lock){-.-.-.}, at: [] __schedule+0x178/0x8f0
    [ 732.790032] #1: (rcu_read_lock){.+.+..}, at: [] cpuacct_charge+0xe/0x200
    [ 732.790032]
    [ 732.790032] stack backtrace:
    [ 732.790032] Pid: 8252, comm: trinity-child31 Tainted: G W 3.7.0-rc1-next-20121019-sasha-00002-g6d8d02d-dirty #63
    [ 732.790032] Call Trace:
    [ 732.790032] [] lockdep_rcu_suspicious+0x10b/0x120
    [ 732.790032] [] cpuacct_charge+0x90/0x200
    [ 732.790032] [] ? cpuacct_charge+0xe/0x200
    [ 732.790032] [] update_curr+0x1a3/0x270
    [ 732.790032] [] dequeue_entity+0x2a/0x210
    [ 732.790032] [] dequeue_task_fair+0x45/0x130
    [ 732.790032] [] dequeue_task+0x89/0xa0
    [ 732.790032] [] deactivate_task+0x1e/0x20
    [ 732.790032] [] __schedule+0x879/0x8f0
    [ 732.790032] [] ? trace_hardirqs_off+0xd/0x10
    [ 732.790032] [] ? kvm_async_pf_task_wait+0x1d5/0x2b0
    [ 732.790032] [] schedule+0x55/0x60
    [ 732.790032] [] kvm_async_pf_task_wait+0x1f4/0x2b0
    [ 732.790032] [] ? abort_exclusive_wait+0xb0/0xb0
    [ 732.790032] [] ? prepare_to_wait+0x25/0x90
    [ 732.790032] [] do_async_page_fault+0x56/0xa0
    [ 732.790032] [] async_page_fault+0x28/0x30

    Signed-off-by: Sasha Levin
    Acked-by: Gleb Natapov
    Acked-by: Paul E. McKenney
    Signed-off-by: Avi Kivity

    Sasha Levin
     
  • Signed-off-by: Gleb Natapov
    Reviewed-by: Chegu Vinod
    Tested-by: Chegu Vinod
    Signed-off-by: Avi Kivity

    Gleb Natapov
     
  • We can not directly call kvm_release_pfn_clean to release the pfn
    since we can meet noslot pfn which is used to cache mmio info into
    spte

    Signed-off-by: Xiao Guangrong
    Cc: stable@vger.kernel.org
    Signed-off-by: Avi Kivity

    Xiao Guangrong
     

22 Oct, 2012

5 commits

  • Fixes from Ben, off note:
    ACPI ROM regression fix,
    some IGP and AGP regressions fixes from rework fallout.

    * 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
    drm/nouveau/clock: fix missing pll type/addr when matching default entry
    drm/nouveau/fb: fix reporting of memory type on GF8+ IGPs
    drm/nv41/vm: don't init hw pciegart on boards with agp bridge
    drm/nouveau/bios: fetch full 4KiB block to determine ACPI ROM image size
    drm/nouveau: validate vbios size
    drm/nouveau: warn when trying to free mm which is still in use
    drm/nouveau: fix nouveau_mm/nouveau_mm_node leak
    drm/nouveau/bios: improve error handling when reading the vbios from ACPI
    drm/nouveau: handle same-fb page flips

    Dave Airlie
     
  • Fix the warning:

    kernel/module_signing.c:195:2: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'size_t'

    by using the proper 'z' modifier for printing a size_t.

    Signed-off-by: Randy Dunlap
    Cc: David Howells
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Pull m68k updates from Geert Uytterhoeven:
    "Just the expected UAPI disintegration and the "new" kcmp syscall."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Wire up kcmp
    m68k: Remove empty #ifdef/#else/#endif block
    UAPI: (Scripted) Disintegrate arch/m68k/include/asm

    Linus Torvalds
     
  • Commit 7f8d4cad1e4e ("Input: extend the number of event (and other)
    devices") made evdev, joydev and mousedev to embed struct cdev into
    their respective structures representing input devices.

    Unfortunately character device structure may outlive the parent
    structure unless we do not set it up as parent of character device so
    that it will stay pinned until character device is freed.

    Also, now that parent structure is pinned while character device exists
    we do not need to pin and unpin it every time user opens or closes it.

    Reported-by: Dave Jones
    Signed-off-by: Dmitry Torokhov
    Acked-by: Al Viro
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • In certain cases (for example when a cdev structure is embedded into
    another object whose lifetime is controlled by a separate kobject) it is
    beneficial to tie lifetime of another object to the lifetime of
    character device so that related object is not freed until after
    char_dev object is freed.

    To achieve this let's pin kobject's parent when doing cdev_add() and
    unpin when last reference to cdev structure is being released.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Al Viro
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov