19 Mar, 2015

2 commits


18 Mar, 2015

2 commits

  • This patch fix the following sparse warnings:

    for arch/x86/kvm/x86.c:
    warning: symbol 'emulator_read_write' was not declared. Should it be static?
    warning: symbol 'emulator_write_emulated' was not declared. Should it be static?
    warning: symbol 'emulator_get_dr' was not declared. Should it be static?
    warning: symbol 'emulator_set_dr' was not declared. Should it be static?

    for arch/x86/kvm/pmu.c:
    warning: symbol 'fixed_pmc_events' was not declared. Should it be static?

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • This patch fix the following sparse warning:

    for file arch/x86/kvm/x86.c:
    warning: Using plain integer as NULL pointer

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     

14 Mar, 2015

2 commits

  • While in L2, leave all #UD to L2 and do not try to emulate it. If L1 is
    interested in doing this, it reports its interest via the exception
    bitmap, and we never get into handle_exception of L0 anyway.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Marcelo Tosatti

    Jan Kiszka
     
  • For a very long time (since 2b3d2a20), the path handling a vmmcall
    instruction of the guest on an Intel host only applied the patch but no
    longer handled the hypercall. The reverse case, vmcall on AMD hosts, is
    fine. As both em_vmcall and em_vmmcall actually have to do the same, we
    can fix the issue by consolidating both into the same handler.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Marcelo Tosatti

    Jan Kiszka
     

13 Mar, 2015

3 commits

  • Another patch in my war on emulate_on_interception() use as a svm exit handler.

    These were pulled out of a larger patch at the suggestion of Radim Krcmar, see
    https://lkml.org/lkml/2015/2/25/559

    Changes since v1:
    * fixed typo introduced after test, retested

    Signed-off-by: David Kaplan
    [separated out just cr_interception part from larger removal of
    INTERCEPT_CR0_WRITE, forward ported, tested]
    Signed-off-by: Joel Schopp
    Reviewed-by: Radim Krčmář
    Signed-off-by: Marcelo Tosatti

    David Kaplan
     
  • …git/kvms390/linux into queue

    KVM: s390: Features and Fixes for 4.1 (kvm/next)

    1. Several Fixes and enhancements
    ---------------------------------
    - These 3 patches have cc stable:
    b75f4c9 KVM: s390: Zero out current VMDB of STSI before including level3 data.
    261520d KVM: s390: fix handling of write errors in the tpi handler
    15462e3 KVM: s390: reinjection of irqs can fail in the tpi handler

    2. SIMD support the kernel part (introduced with z13)
    -----------------------------------------------------
    - two KVM-generic changes in kvm.h:
    1. New capability that can be enabled: KVM_CAP_S390_VECTOR_REGISTERS
    2. increased padding size for sync regs in struct kvm_run to clarify that
    sync regs can be larger than 1k. This is fine as this is the last
    element in the structure.

    Marcelo Tosatti
     
  • The KVM list should be CCed on changes for arch/x86/kernel/kvm.c
    and arch/x86/kernel/kvmclock.c

    Signed-off-by: Christian Borntraeger
    Acked-by: Paolo Bonzini
    Signed-off-by: Marcelo Tosatti

    Christian Borntraeger
     

11 Mar, 2015

2 commits

  • No need to re-decode WBINVD since we know what it is from the intercept.

    Signed-off-by: David Kaplan
    [extracted from larger unlrelated patch, forward ported, tested,style cleanup]
    Signed-off-by: Joel Schopp
    Reviewed-by: Radim Krčmář
    Signed-off-by: Marcelo Tosatti

    David Kaplan
     
  • Currently kvm_emulate() skips the instruction but kvm_emulate_* sometimes
    don't. The end reult is the caller ends up doing the skip themselves.
    Let's make them consistant.

    Signed-off-by: Joel Schopp
    Reviewed-by: Radim Krčmář
    Signed-off-by: Marcelo Tosatti

    Joel Schopp
     

10 Mar, 2015

29 commits

  • WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then
    dev_info(dev, ... then pr_info(... to printk(KERN_INFO ...
    + printk(KERN_INFO "kvm: exiting hardware virtualization\n");

    WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then
    dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...
    + printk(KERN_ERR "kvm: misc device register failed\n");

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • ERROR: code indent should use tabs where possible
    + const struct kvm_io_range *r2)$

    WARNING: please, no spaces at the start of a line
    + const struct kvm_io_range *r2)$

    This patch fixes this ERROR & WARNING to reduce noise when checking new
    patches in kvm_main.c.

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • WARNING: please, no space before tabs
    + * ^I^Ikvm->lock --> kvm->slots_lock --> kvm->irq_lock$

    WARNING: please, no space before tabs
    +^I^I * ^I- gfn_to_hva (kvm_read_guest, gfn_to_pfn)$

    WARNING: please, no space before tabs
    +^I^I * ^I- kvm_is_visible_gfn (mmu_check_roots)$

    This patch fixes these warnings to reduce noise when checking new
    patches in kvm_main.c.

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • There are many Warnings like this:
    WARNING: Missing a blank line after declarations
    + struct kvm_coalesced_mmio_zone zone;
    + r = -EFAULT;

    This patch fixes these warnings to reduce noise when checking new
    patches in kvm_main.c.

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • WARNING: EXPORT_SYMBOL(foo); should immediately follow its
    function/variable
    +EXPORT_SYMBOL_GPL(gfn_to_page);

    This patch fixes these warnings to reduce noise when checking new
    patches in kvm_main.c.

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • ERROR: do not initialise statics to 0 or NULL
    +static int kvm_usage_count = 0;

    The kvm_usage_count will be placed to .bss segment when linking, so
    not need to set it to 0 here obviously.

    This patch fixes this ERROR to reduce noise when checking new patches
    in kvm_main.c.

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • WARNING: labels should not be indented
    + out_free_irq_routing:

    This patch fixes this WARNING to reduce noise when checking new patches
    in kvm_main.c.

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • There are many WARNINGs like this:
    WARNING: sizeof tr should be sizeof(tr)
    + if (copy_from_user(&tr, argp, sizeof tr))

    In kvm_main.c many places are using 'sizeof(X)', and the other places
    are using 'sizeof X', while the kernel recommands to use 'sizeof(X)',
    so this patch will replace all 'sizeof X' to 'sizeof(X)' to make them
    consistent and at the same time to reduce the WARNINGs noise when we
    are checking new patches.

    Signed-off-by: Xiubo Li
    Signed-off-by: Marcelo Tosatti

    Xiubo Li
     
  • kvm_kvfree() provides exactly the same functionality as the
    new common kvfree() function - so let's simply replace the
    kvm function with the common function.

    Signed-off-by: Thomas Huth
    Signed-off-by: Marcelo Tosatti

    Thomas Huth
     
  • halt_poll_ns is used only locally. Make it static.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Marcelo Tosatti

    Christian Borntraeger
     
  • This patch fixes the bug discussed in
    https://www.mail-archive.com/kvm@vger.kernel.org/msg109813.html

    This patch uses a new field named irr_delivered to record the
    delivery status of edge-triggered interrupts, and clears the
    delivered interrupts in kvm_get_ioapic. So it has the same effect
    of commit 0bc830b05c667218d703f2026ec866c49df974fc
    ("KVM: ioapic: clear IRR for edge-triggered interrupts at delivery")
    while avoids the bug of Windows guests.

    Signed-off-by: Wincy Van
    Signed-off-by: Marcelo Tosatti

    Wincy Van
     
  • Fix whitespace around while

    Signed-off-by: Kevin Mulvey
    Signed-off-by: Marcelo Tosatti

    Kevin Mulvey
     
  • Better alignment of loop using tabs rather than spaces, this
    makes checkpatch.pl happier.

    Signed-off-by: Kevin Mulvey
    Signed-off-by: Marcelo Tosatti

    Kevin Mulvey
     
  • KVM has nice wrappers to access the register values, clean up a few places
    that should use them but currently do not.

    Signed-off-by: David Kaplan
    [forward port and testing]
    Signed-off-by: Joel Schopp
    Acked-by: Borislav Petkov
    Signed-off-by: Marcelo Tosatti

    David Kaplan
     
  • Pull kvm/s390 bugfixes from Marcelo Tosatti.

    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: s390: non-LPAR case obsolete during facilities mask init
    KVM: s390: include guest facilities in kvm facility test
    KVM: s390: fix in memory copy of facility lists
    KVM: s390/cpacf: Fix kernel bug under z/VM
    KVM: s390/cpacf: Enable key wrapping by default

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "One performance optimization for page_clear and a couple of bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/mm: fix incorrect ASCE after crst_table_downgrade
    s390/ftrace: fix crashes when switching tracers / add notrace to cpu_relax()
    s390/pci: unify pci_iomap symbol exports
    s390/pci: fix [un]map_resources sequence
    s390: let the compiler do page clearing
    s390/pci: fix possible information leak in mmio syscall
    s390/dcss: array index 'i' is used before limits check.
    s390/scm_block: fix off by one during cluster reservation
    s390/jump label: improve and fix sanity check
    s390/jump label: add missing jump_label_apply_nops() call

    Linus Torvalds
     
  • …git/rostedt/linux-trace

    Pull seq-buf/ftrace fixes from Steven Rostedt:
    "This includes fixes for seq_buf_bprintf() truncation issue. It also
    contains fixes to ftrace when /proc/sys/kernel/ftrace_enabled and
    function tracing are started. Doing the following causes some issues:

    # echo 0 > /proc/sys/kernel/ftrace_enabled
    # echo function_graph > /sys/kernel/debug/tracing/current_tracer
    # echo 1 > /proc/sys/kernel/ftrace_enabled
    # echo nop > /sys/kernel/debug/tracing/current_tracer
    # echo function_graph > /sys/kernel/debug/tracing/current_tracer

    As well as with function tracing too. Pratyush Anand first reported
    this issue to me and supplied a patch. When I tested this on my x86
    test box, it caused thousands of backtraces and warnings to appear in
    dmesg, which also caused a denial of service (a warning for every
    function that was listed). I applied Pratyush's patch but it did not
    fix the issue for me. I looked into it and found a slight problem
    with trampoline accounting. I fixed it and sent Pratyush a patch, but
    he said that it did not fix the issue for him.

    I later learned tha Pratyush was using an ARM64 server, and when I
    tested on my ARM board, I was able to reproduce the same issue as
    Pratyush. After applying his patch, it fixed the problem. The above
    test uncovered two different bugs, one in x86 and one in ARM and
    ARM64. As this looked like it would affect PowerPC, I tested it on my
    PPC64 box. It too broke, but neither the patch that fixed ARM or x86
    fixed this box (the changes were all in generic code!). The above
    test, uncovered two more bugs that affected PowerPC. Again, the
    changes were only done to generic code. It's the way the arch code
    expected things to be done that was different between the archs. Some
    where more sensitive than others.

    The rest of this series fixes the PPC bugs as well"

    * tag 'trace-fixes-v4.0-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ftrace: Fix ftrace enable ordering of sysctl ftrace_enabled
    ftrace: Fix en(dis)able graph caller when en(dis)abling record via sysctl
    ftrace: Clear REGS_EN and TRAMP_EN flags on disabling record via sysctl
    seq_buf: Fix seq_buf_bprintf() truncation
    seq_buf: Fix seq_buf_vprintf() truncation

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) nft_compat accidently truncates ethernet protocol to 8-bits, from
    Arturo Borrero.

    2) Memory leak in ip_vs_proc_conn(), from Julian Anastasov.

    3) Don't allow the space required for nftables rules to exceed the
    maximum value representable in the dlen field. From Patrick
    McHardy.

    4) bcm63xx_enet can accidently leave interrupts permanently disabled
    due to errors in the NAPI polling exit logic. Fix from Nicolas
    Schichan.

    5) Fix OOPSes triggerable by the ping protocol module, due to missing
    address family validations etc. From Lorenzo Colitti.

    6) Don't use RCU locking in sleepable context in team driver, from Jiri
    Pirko.

    7) xen-netback miscalculates statistic offset pointers when reporting
    the stats to userspace. From David Vrabel.

    8) Fix a leak of up to 256 pages per VIF destroy in xen-netaback, also
    from David Vrabel.

    9) ip_check_defrag() cannot assume that skb_network_offset(),
    particularly when it is used by the AF_PACKET fanout defrag code.
    From Alexander Drozdov.

    10) gianfar driver doesn't query OF node names properly when trying to
    determine the number of hw queues available. Fix it to explicitly
    check for OF nodes named queue-group. From Tobias Waldekranz.

    11) MID field in macb driver should be 12 bits, not 16. From Punnaiah
    Choudary Kalluri.

    12) Fix unintentional regression in traceroute due to timestamp socket
    option changes. Empty ICMP payloads should be allowed in
    non-timestamp cases. From Willem de Bruijn.

    13) When devices are unregistered, we have to get rid of AF_PACKET
    multicast list entries that point to it via ifindex. Fix from
    Francesco Ruggeri.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (38 commits)
    tipc: fix bug in link failover handling
    net: delete stale packet_mclist entries
    net: macb: constify macb configuration data
    MAINTAINERS: add Marc Kleine-Budde as co maintainer for CAN networking layer
    MAINTAINERS: linux-can moved to github
    can: kvaser_usb: Read all messages in a bulk-in URB buffer
    can: kvaser_usb: Avoid double free on URB submission failures
    can: peak_usb: fix missing ctrlmode_ init for every dev
    can: add missing initialisations in CAN related skbuffs
    ip: fix error queue empty skb handling
    bgmac: Clean warning messages
    tcp: align tcp_xmit_size_goal() on tcp_tso_autosize()
    net: fec: fix unbalanced clk disable on driver unbind
    net: macb: Correct the MID field length value
    net: gianfar: correctly determine the number of queue groups
    ipv4: ip_check_defrag should not assume that skb_network_offset is zero
    net: bcmgenet: properly disable password matching
    net: eth: xgene: fix booting with devicetree
    bnx2x: Force fundamental reset for EEH recovery
    xen-netback: refactor xenvif_handle_frag_list()
    ...

    Linus Torvalds
     
  • Pull input subsystem fixes from Dmitry Torokhov:
    "Miscellaneous driver fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: psmouse - disable "palm detection" in the focaltech driver
    Input: psmouse - disable changing resolution/rate/scale for FocalTech
    Input: psmouse - ensure that focaltech reports consistent coordinates
    Input: psmouse - remove hardcoded touchpad size from the focaltech driver
    Input: tc3589x-keypad - set IRQF_ONESHOT flag to ensure IRQ request
    Input: ALPS - fix memory leak when detection fails
    Input: sun4i-ts - add thermal driver dependency
    Input: cyapa - remove superfluous type check in cyapa_gen5_read_idac_data()
    Input: cyapa - fix unaligned functions redefinition error
    Input: mma8450 - add parent device

    Linus Torvalds
     
  • Pull regulator fixes from Mark Brown:
    "A couple of driver specific fixes plus a fix for a regression in the
    core where the updates to use sysfs group registration were overly
    enthusiastic in eliding properties and removed some that had been
    previously present"

    * tag 'regulator-v4.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: Fix regression due to NULL constraints check
    regulator: rk808: Set the enable time for LDOs
    regulator: da9210: Mask all interrupt sources to deassert interrupt line

    Linus Torvalds
     
  • Pull spi fixes from Mark Brown:
    "A collection of driver specific fixes to which the usual comments
    about them being important if you see them mostly apply (except for
    the comment fix). The pl022 one is particularly nasty for anyone
    affected by it"

    * tag 'spi-v4.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
    spi: pl022: Fix race in giveback() leading to driver lock-up
    spi: dw-mid: avoid potential NULL dereference
    spi: img-spfi: Verify max spfi transfer length
    spi: fix a typo in comment.
    spi: atmel: Fix interrupt setup for PDC transfers
    spi: dw: revisit FIFO size detection again
    spi: dw-pci: correct number of chip selects
    drivers: spi: ti-qspi: wait for busy bit clear before data write/read

    Linus Torvalds
     
  • Pull tpm fixes from James Morris:
    "fixes for the TPM driver"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    tpm: fix call order in tpm-chip.c
    tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send

    Linus Torvalds
     
  • Pull fbdev fixes from Tomi Valkeinen:
    - Fix regression in with omapdss when using i2c displays
    - Fix possible null deref in fbmon
    - Check kalloc return value in AMBA CLCD

    * tag 'fbdev-fixes-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
    OMAPDSS: fix regression with display sysfs files
    video: fbdev: fix possible null dereference
    video: ARM CLCD: Add missing error check for devm_kzalloc

    Linus Torvalds
     
  • Pull cgroup fixes from Tejun Heo:
    "The cgroup iteration update two years ago and the recent cpuset
    restructuring introduced regressions in subset of cpuset
    configurations. Three patches to fix them.

    All are marked for -stable"

    * 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cpuset: Fix cpuset sched_relax_domain_level
    cpuset: fix a warning when clearing configured masks in old hierarchy
    cpuset: initialize effective masks when clone_children is enabled

    Linus Torvalds
     
  • Pull libata fixlet from Tejun Heo:
    "Speed limiting fix for sata_fsl"

    * 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    sata-fsl: Apply link speed limits

    Linus Torvalds
     
  • Pull workqueue fix from Tejun Heo:
    "One fix patch for a subtle livelock condition which can happen on
    PREEMPT_NONE kernels involving two racing cancel_work calls. Whoever
    comes in the second has to wait for the previous one to finish. This
    was implemented by making the later one block for the same condition
    that the former would be (work item completion) and then loop and
    retest; unfortunately, depending on the wake up order, the later one
    could lock out the former one to finish by busy looping on the cpu.

    This is fixed by implementing explicit wait mechanism. Work item
    might not belong anywhere at this point and there's remote possibility
    of thundering herd problem. I originally tried to use bit_waitqueue
    but it didn't work for static work items on modules. It's currently
    using single wait queue with filtering wake up function and exclusive
    wakeup. If this ever becomes a problem, which is not very likely, we
    can try to figure out a way to piggy back on bit_waitqueue"

    * 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

    Linus Torvalds
     
  • In commit c637c1035534867b85b78b453c38c495b58e2c5a
    ("tipc: resolve race problem at unicast message reception") we
    introduced a new mechanism for delivering buffers upwards from link
    to socket layer.

    That code contains a bug in how we handle the new link input queue
    during failover. When a link is reset, some of its users may be blocked
    because of congestion, and in order to resolve this, we add any pending
    wakeup pseudo messages to the link's input queue, and deliver them to
    the socket. This misses the case where the other, remaining link also
    may have congested users. Currently, the owner node's reference to the
    remaining link's input queue is unconditionally overwritten by the
    reset link's input queue. This has the effect that wakeup events from
    the remaining link may be unduely delayed (but not lost) for a
    potentially long period.

    We fix this by adding the pending events from the reset link to the
    input queue that is currently referenced by the node, whichever one
    it is.

    This commit should be applied to both net and net-next.

    Signed-off-by: Jon Maloy
    Signed-off-by: David S. Miller

    Jon Paul Maloy
     
  • When an interface is deleted from a net namespace the ifindex in the
    corresponding entries in PF_PACKET sockets' mclists becomes stale.
    This can create inconsistencies if later an interface with the same ifindex
    is moved from a different namespace (not that unlikely since ifindexes are
    per-namespace).
    In particular we saw problems with dev->promiscuity, resulting
    in "promiscuity touches roof, set promiscuity failed. promiscuity
    feature of device might be broken" warnings and EOVERFLOW failures of
    setsockopt(PACKET_ADD_MEMBERSHIP).
    This patch deletes the mclist entries for interfaces that are deleted.
    Since this now causes setsockopt(PACKET_DROP_MEMBERSHIP) to fail with
    EADDRNOTAVAIL if called after the interface is deleted, also make
    packet_mc_drop not fail.

    Signed-off-by: Francesco Ruggeri
    Signed-off-by: David S. Miller

    Francesco Ruggeri
     
  • The configurations are not modified by the driver. Make them 'const' so
    that they may be placed in a read-only section.

    Signed-off-by: Josh Cartwright
    Signed-off-by: David S. Miller

    Josh Cartwright