Commit e2f557f9 authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/marcel/tags/rdma-pull-request' into staging



* fix PVRDMA coverity errors
* update MAINTAINERS file

# gpg: Signature made Thu 03 May 2018 18:53:00 BST
# gpg:                using RSA key 36D4C0F0CF2FE46D
# gpg: Good signature from "Marcel Apfelbaum <marcel@redhat.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: B1C6 3A57 F92E 08F2 640F  31F5 36D4 C0F0 CF2F E46D

* remotes/marcel/tags/rdma-pull-request:
  MAINTAINERS: update Marcel Apfelbaum email
  hw/rdma: Fix possible out of bounds access to port GID index
  hw/rdma: Delete duplicate definition of MAX_RM_TBL_NAME
  hw/rdma: Fix possible out of bounds access to regs array
  hw/rdma: Fix possible out of bounds access to GID table
  hw/rdma: Delete port's pkey table
  hw/rdma: Fix possible usage of a NULL pointer
  hw/rdma: Fix possible munmap call on a NULL pointer

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 59255887 fe355cbd
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -909,7 +909,7 @@ X86 Machines
------------
PC
M: Michael S. Tsirkin <mst@redhat.com>
M: Marcel Apfelbaum <marcel@redhat.com>
M: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
S: Supported
F: include/hw/i386/
F: hw/i386/
@@ -959,7 +959,7 @@ F: include/hw/timer/mc146818rtc*

Machine core
M: Eduardo Habkost <ehabkost@redhat.com>
M: Marcel Apfelbaum <marcel@redhat.com>
M: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
S: Supported
F: hw/core/machine.c
F: hw/core/null-machine.c
@@ -1033,7 +1033,7 @@ F: hw/ipack/

PCI
M: Michael S. Tsirkin <mst@redhat.com>
M: Marcel Apfelbaum <marcel@redhat.com>
M: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
S: Supported
F: include/hw/pci/*
F: hw/misc/pci-testdev.c
@@ -2075,7 +2075,7 @@ F: docs/block-replication.txt

PVRDMA
M: Yuval Shaia <yuval.shaia@oracle.com>
M: Marcel Apfelbaum <marcel@redhat.com>
M: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
S: Maintained
F: hw/rdma/*
F: hw/rdma/vmw/*
+1 −1
Original line number Diff line number Diff line
@@ -774,7 +774,7 @@ int rdma_backend_init(RdmaBackendDev *backend_dev,
        goto out_destroy_comm_channel;
    }

    if (backend_dev->backend_gid_idx > port_attr.gid_tbl_len) {
    if (backend_dev->backend_gid_idx >= port_attr.gid_tbl_len) {
        error_setg(errp, "Invalid backend_gid_idx, should be less than %d",
                   port_attr.gid_tbl_len);
        goto out_destroy_comm_channel;
+0 −2
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@
#include "rdma_backend.h"
#include "rdma_rm.h"

#define MAX_RM_TBL_NAME 16

/* Page directory and page tables */
#define PG_DIR_SZ { TARGET_PAGE_SIZE / sizeof(__u64) }
#define PG_TBL_SZ { TARGET_PAGE_SIZE / sizeof(__u64) }
+4 −5
Original line number Diff line number Diff line
@@ -20,9 +20,9 @@

#define MAX_PORTS             1
#define MAX_PORT_GIDS         1
#define MAX_GIDS              MAX_PORT_GIDS
#define MAX_PORT_PKEYS        1
#define MAX_PKEYS             1
#define MAX_GIDS              2048
#define MAX_PKEYS             MAX_PORT_PKEYS
#define MAX_UCS               512
#define MAX_MR_SIZE           (1UL << 27)
#define MAX_QP                1024
@@ -34,9 +34,9 @@
#define MAX_QP_INIT_RD_ATOM   16
#define MAX_AH                64

#define MAX_RMRESTBL_NAME_SZ 16
#define MAX_RM_TBL_NAME 16
typedef struct RdmaRmResTbl {
    char name[MAX_RMRESTBL_NAME_SZ];
    char name[MAX_RM_TBL_NAME];
    QemuMutex lock;
    unsigned long *bitmap;
    size_t tbl_sz;
@@ -87,7 +87,6 @@ typedef struct RdmaRmQP {
typedef struct RdmaRmPort {
    union ibv_gid gid_tbl[MAX_PORT_GIDS];
    enum ibv_port_state state;
    int *pkey_tbl; /* TODO: Not yet supported */
} RdmaRmPort;

typedef struct RdmaDeviceResources {
+3 −3
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@
#define RDMA_REG_BAR_IDX     1
#define RDMA_UAR_BAR_IDX     2
#define RDMA_BAR0_MSIX_SIZE  (16 * 1024)
#define RDMA_BAR1_REGS_SIZE  256
#define RDMA_BAR1_REGS_SIZE  64
#define RDMA_BAR2_UAR_SIZE   (0x1000 * MAX_UCS) /* each uc gets page */

/* MSIX */
@@ -86,7 +86,7 @@ static inline int get_reg_val(PVRDMADev *dev, hwaddr addr, uint32_t *val)
{
    int idx = addr >> 2;

    if (idx > RDMA_BAR1_REGS_SIZE) {
    if (idx >= RDMA_BAR1_REGS_SIZE) {
        return -EINVAL;
    }

@@ -99,7 +99,7 @@ static inline int set_reg_val(PVRDMADev *dev, hwaddr addr, uint32_t val)
{
    int idx = addr >> 2;

    if (idx > RDMA_BAR1_REGS_SIZE) {
    if (idx >= RDMA_BAR1_REGS_SIZE) {
        return -EINVAL;
    }

Loading