10 Jul, 2020

1 commit

  • vmw_vmci_defs.h is included by multiple source files. Some of which
    do not make use of 'struct vmci_handle VMCI_ANON_SRC_HANDLE' rendering
    it unused. Ensure the compiler knows that this is in fact intentional
    by marking it as __maybe_unused. This fixes the following W=1 warnings:

    In file included from drivers/misc/vmw_vmci/vmci_context.c:8:
    include/linux/vmw_vmci_defs.h:162:33: warning: ‘VMCI_ANON_SRC_HANDLE’ defined but not used [-Wunused-const-variable=]
    162 | static const struct vmci_handle VMCI_ANON_SRC_HANDLE = {
    | ^~~~~~~~~~~~~~~~~~~~
    In file included from drivers/misc/vmw_vmci/vmci_datagram.c:8:
    include/linux/vmw_vmci_defs.h:162:33: warning: ‘VMCI_ANON_SRC_HANDLE’ defined but not used [-Wunused-const-variable=]
    162 | static const struct vmci_handle VMCI_ANON_SRC_HANDLE = {
    | ^~~~~~~~~~~~~~~~~~~~

    Cc: George Zhang
    Signed-off-by: Lee Jones
    Acked-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200708125711.3443569-2-lee.jones@linaro.org
    Signed-off-by: Greg Kroah-Hartman

    Lee Jones
     

21 Jun, 2019

1 commit

  • The VMCI handle array has an integer overflow in
    vmci_handle_arr_append_entry when it tries to expand the array. This can be
    triggered from a guest, since the doorbell link hypercall doesn't impose a
    limit on the number of doorbell handles that a VM can create in the
    hypervisor, and these handles are stored in a handle array.

    In this change, we introduce a mandatory max capacity for handle
    arrays/lists to avoid excessive memory usage.

    Signed-off-by: Vishnu Dasa
    Reviewed-by: Adit Ranadive
    Reviewed-by: Jorgen Hansen
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Vishnu DASA
     

09 Jun, 2019

1 commit


06 Jun, 2019

1 commit

  • The VMCI driver is abusing atomic64_t and atomic_t, there is no actual
    atomic RmW operations around.

    Rewrite the code to use a regular u64 with READ_ONCE() and
    WRITE_ONCE() and a cast to 'unsigned long'. This fully preserves
    whatever broken there was (it's not endian-safe for starters, and also
    looks to be missing ordering).

    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation version 2 and no later version this
    program is distributed in the hope that it will be useful but
    without any warranty without even the implied warranty of
    merchantability or fitness for a particular purpose see the gnu
    general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 33 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Kate Stewart
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190530000435.345978407@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

02 Apr, 2019

1 commit


26 Feb, 2019

1 commit

  • Add support in the VMCI driver to handle upto 64-bit PPNs when the VMCI
    device exposes the capability for 64-bit PPNs.

    Reviewed-by: Adit Ranadive
    Reviewed-by: Jorgen Hansen
    Signed-off-by: Vishnu Dasa
    Signed-off-by: Greg Kroah-Hartman

    Vishnu DASA
     

03 Feb, 2017

1 commit


08 Feb, 2016

1 commit

  • This change restricts the reading and setting of the head and tail
    pointers on 32bit X86 to 32bit for both correctness and
    performance reasons. On uniprocessor X86_32, the atomic64_read
    may be implemented as a non-locked cmpxchg8b. This may result in
    updates to the pointers done by the VMCI device being overwritten.
    On MP systems, there is no such correctness issue, but using 32bit
    atomics avoids the overhead of the locked 64bit operation. All this
    is safe because the queue size on 32bit systems will never exceed
    a 32bit value.

    Reviewed-by: Thomas Hellstrom
    Signed-off-by: Jorgen Hansen
    Signed-off-by: Greg Kroah-Hartman

    Jorgen Hansen
     

09 Jan, 2013

1 commit

  • VMCI head config patch Adds all the necessary files to enable building of the VMCI
    module with the Linux Makefiles and Kconfig systems. Also adds the header files used
    for building modules against the driver.

    Signed-off-by: George Zhang
    Acked-by: Andy king
    Acked-by: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    George Zhang