lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 9 Jun 2021 05:15:42 +0000
From:   Parav Pandit <parav@...dia.com>
To:     Stephen Hemminger <stephen@...workplumber.org>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC:     David Ahern <dsahern@...il.com>
Subject: RE: [PATCH iproute2] uapi: add missing virtio related headers

Hi Stephen,

vdpa headers were present in commit c2ecc82b9d4c at [1].

I added them at [1] after David's recommendation in [2].

Should we remove [1]?
Did you face compilation problem without this fix?

[1] ./vdpa/include/uapi/linux/vdpa.h
[2] https://lore.kernel.org/netdev/abc71731-012e-eaa4-0274-5347fc99c249@gmail.com/

Parav

> From: Stephen Hemminger <stephen@...workplumber.org>
> Sent: Friday, April 23, 2021 11:10 PM
> 
> The build of iproute2 relies on having correct copy of santized kernel
> headers. The vdpa utility introduced a dependency on the vdpa related
> headers, but these headers were not present in iproute2 repo.
> 
> Fixes: c2ecc82b9d4c ("vdpa: Add vdpa tool")
> Signed-off-by: Stephen Hemminger <stephen@...workplumber.org>
> ---
>  include/uapi/linux/vdpa.h       | 40 +++++++++++++++++++++++
>  include/uapi/linux/virtio_ids.h | 58
> +++++++++++++++++++++++++++++++++
>  2 files changed, 98 insertions(+)
>  create mode 100644 include/uapi/linux/vdpa.h  create mode 100644
> include/uapi/linux/virtio_ids.h
> 
> diff --git a/include/uapi/linux/vdpa.h b/include/uapi/linux/vdpa.h new file
> mode 100644 index 000000000000..37ae26b6ba26
> --- /dev/null
> +++ b/include/uapi/linux/vdpa.h
> @@ -0,0 +1,40 @@
> +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
> +/*
> + * vdpa device management interface
> + * Copyright (c) 2020 Mellanox Technologies Ltd. All rights reserved.
> + */
> +
> +#ifndef _LINUX_VDPA_H_
> +#define _LINUX_VDPA_H_
> +
> +#define VDPA_GENL_NAME "vdpa"
> +#define VDPA_GENL_VERSION 0x1
> +
> +enum vdpa_command {
> +	VDPA_CMD_UNSPEC,
> +	VDPA_CMD_MGMTDEV_NEW,
> +	VDPA_CMD_MGMTDEV_GET,		/* can dump */
> +	VDPA_CMD_DEV_NEW,
> +	VDPA_CMD_DEV_DEL,
> +	VDPA_CMD_DEV_GET,		/* can dump */
> +};
> +
> +enum vdpa_attr {
> +	VDPA_ATTR_UNSPEC,
> +
> +	/* bus name (optional) + dev name together make the parent device
> handle */
> +	VDPA_ATTR_MGMTDEV_BUS_NAME,		/* string */
> +	VDPA_ATTR_MGMTDEV_DEV_NAME,		/* string */
> +	VDPA_ATTR_MGMTDEV_SUPPORTED_CLASSES,	/* u64 */
> +
> +	VDPA_ATTR_DEV_NAME,			/* string */
> +	VDPA_ATTR_DEV_ID,			/* u32 */
> +	VDPA_ATTR_DEV_VENDOR_ID,		/* u32 */
> +	VDPA_ATTR_DEV_MAX_VQS,			/* u32 */
> +	VDPA_ATTR_DEV_MAX_VQ_SIZE,		/* u16 */
> +
> +	/* new attributes must be added above here */
> +	VDPA_ATTR_MAX,
> +};
> +
> +#endif
> diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h
> new file mode 100644 index 000000000000..bc1c0621f5ed
> --- /dev/null
> +++ b/include/uapi/linux/virtio_ids.h
> @@ -0,0 +1,58 @@
> +#ifndef _LINUX_VIRTIO_IDS_H
> +#define _LINUX_VIRTIO_IDS_H
> +/*
> + * Virtio IDs
> + *
> + * This header is BSD licensed so anyone can use the definitions to
> +implement
> + * compatible drivers/servers.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *    notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + *    notice, this list of conditions and the following disclaimer in the
> + *    documentation and/or other materials provided with the distribution.
> + * 3. Neither the name of IBM nor the names of its contributors
> + *    may be used to endorse or promote products derived from this
> software
> + *    without specific prior written permission.
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
> CONTRIBUTORS
> +``AS IS'' AND
> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO,
> +THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR
> +PURPOSE
> + * ARE DISCLAIMED.  IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> +CONSEQUENTIAL
> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE
> +GOODS
> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> +INTERRUPTION)
> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT,
> +STRICT
> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
> IN
> +ANY WAY
> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY
> +OF
> + * SUCH DAMAGE. */
> +
> +#define VIRTIO_ID_NET			1 /* virtio net */
> +#define VIRTIO_ID_BLOCK			2 /* virtio block */
> +#define VIRTIO_ID_CONSOLE		3 /* virtio console */
> +#define VIRTIO_ID_RNG			4 /* virtio rng */
> +#define VIRTIO_ID_BALLOON		5 /* virtio balloon */
> +#define VIRTIO_ID_IOMEM			6 /* virtio ioMemory */
> +#define VIRTIO_ID_RPMSG			7 /* virtio remote processor
> messaging */
> +#define VIRTIO_ID_SCSI			8 /* virtio scsi */
> +#define VIRTIO_ID_9P			9 /* 9p virtio console */
> +#define VIRTIO_ID_MAC80211_WLAN		10 /* virtio WLAN
> MAC */
> +#define VIRTIO_ID_RPROC_SERIAL		11 /* virtio remoteproc serial
> link */
> +#define VIRTIO_ID_CAIF			12 /* Virtio caif */
> +#define VIRTIO_ID_MEMORY_BALLOON	13 /* virtio memory balloon
> */
> +#define VIRTIO_ID_GPU			16 /* virtio GPU */
> +#define VIRTIO_ID_CLOCK			17 /* virtio clock/timer */
> +#define VIRTIO_ID_INPUT			18 /* virtio input */
> +#define VIRTIO_ID_VSOCK			19 /* virtio vsock transport */
> +#define VIRTIO_ID_CRYPTO		20 /* virtio crypto */
> +#define VIRTIO_ID_SIGNAL_DIST		21 /* virtio signal distribution
> device */
> +#define VIRTIO_ID_PSTORE		22 /* virtio pstore device */
> +#define VIRTIO_ID_IOMMU			23 /* virtio IOMMU */
> +#define VIRTIO_ID_MEM			24 /* virtio mem */
> +#define VIRTIO_ID_FS			26 /* virtio filesystem */
> +#define VIRTIO_ID_PMEM			27 /* virtio pmem */
> +#define VIRTIO_ID_MAC80211_HWSIM	29 /* virtio mac80211-hwsim
> */
> +
> +#endif /* _LINUX_VIRTIO_IDS_H */
> --
> 2.30.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ