From: "Michael S. Tsirkin" <mst@redhat.com>
To: kernel test robot <lkp@intel.com>
Cc: kvm@vger.kernel.org, maorg@nvidia.com, jiri@nvidia.com,
virtualization@lists.linux-foundation.org, jgg@nvidia.com,
oe-kbuild-all@lists.linux.dev, leonro@nvidia.com
Subject: Re: [PATCH V2 vfio 5/9] virtio-pci: Initialize the supported admin commands
Date: Fri, 3 Nov 2023 03:39:10 -0400 [thread overview]
Message-ID: <20231103033834-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <202311030838.GjyaBTjM-lkp@intel.com>
On Fri, Nov 03, 2023 at 08:33:06AM +0800, kernel test robot wrote:
> Hi Yishai,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on awilliam-vfio/for-linus]
> [also build test WARNING on linus/master v6.6]
> [cannot apply to awilliam-vfio/next mst-vhost/linux-next next-20231102]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Yishai-Hadas/virtio-Define-feature-bit-for-administration-virtqueue/20231030-000414
> base: https://github.com/awilliam/linux-vfio.git for-linus
> patch link: https://lore.kernel.org/r/20231029155952.67686-6-yishaih%40nvidia.com
> patch subject: [PATCH V2 vfio 5/9] virtio-pci: Initialize the supported admin commands
> config: i386-randconfig-061-20231102 (https://download.01.org/0day-ci/archive/20231103/202311030838.GjyaBTjM-lkp@intel.com/config)
> compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231103/202311030838.GjyaBTjM-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202311030838.GjyaBTjM-lkp@intel.com/
>
> sparse warnings: (new ones prefixed by >>)
> >> drivers/virtio/virtio_pci_modern.c:726:16: sparse: sparse: restricted __le16 degrades to integer
>
> vim +726 drivers/virtio/virtio_pci_modern.c
>
> 673
> 674 static int vp_modern_admin_cmd_exec(struct virtio_device *vdev,
> 675 struct virtio_admin_cmd *cmd)
> 676 {
> 677 struct scatterlist *sgs[VIRTIO_AVQ_SGS_MAX], hdr, stat;
> 678 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
> 679 struct virtio_admin_cmd_status *va_status;
> 680 unsigned int out_num = 0, in_num = 0;
> 681 struct virtio_admin_cmd_hdr *va_hdr;
> 682 struct virtqueue *avq;
> 683 u16 status;
> 684 int ret;
> 685
> 686 avq = virtio_has_feature(vdev, VIRTIO_F_ADMIN_VQ) ?
> 687 vp_dev->admin_vq.info.vq : NULL;
> 688 if (!avq)
> 689 return -EOPNOTSUPP;
> 690
> 691 va_status = kzalloc(sizeof(*va_status), GFP_KERNEL);
> 692 if (!va_status)
> 693 return -ENOMEM;
> 694
> 695 va_hdr = kzalloc(sizeof(*va_hdr), GFP_KERNEL);
> 696 if (!va_hdr) {
> 697 ret = -ENOMEM;
> 698 goto err_alloc;
> 699 }
> 700
> 701 va_hdr->opcode = cmd->opcode;
> 702 va_hdr->group_type = cmd->group_type;
> 703 va_hdr->group_member_id = cmd->group_member_id;
> 704
> 705 /* Add header */
> 706 sg_init_one(&hdr, va_hdr, sizeof(*va_hdr));
> 707 sgs[out_num] = &hdr;
> 708 out_num++;
> 709
> 710 if (cmd->data_sg) {
> 711 sgs[out_num] = cmd->data_sg;
> 712 out_num++;
> 713 }
> 714
> 715 /* Add return status */
> 716 sg_init_one(&stat, va_status, sizeof(*va_status));
> 717 sgs[out_num + in_num] = &stat;
> 718 in_num++;
> 719
> 720 if (cmd->result_sg) {
> 721 sgs[out_num + in_num] = cmd->result_sg;
> 722 in_num++;
> 723 }
> 724
> 725 if (cmd->opcode == VIRTIO_ADMIN_CMD_LIST_QUERY ||
> > 726 cmd->opcode == VIRTIO_ADMIN_CMD_LIST_USE)
yes, this is broken on BE. You need to convert enums to LE before you
compare.
> 727 ret = __virtqueue_exec_admin_cmd(&vp_dev->admin_vq, sgs,
> 728 out_num, in_num,
> 729 sgs, GFP_KERNEL);
> 730 else
> 731 ret = virtqueue_exec_admin_cmd(&vp_dev->admin_vq, sgs,
> 732 out_num, in_num,
> 733 sgs, GFP_KERNEL);
> 734 if (ret) {
> 735 dev_err(&vdev->dev,
> 736 "Failed to execute command on admin vq: %d\n.", ret);
> 737 goto err_cmd_exec;
> 738 }
> 739
> 740 status = le16_to_cpu(va_status->status);
> 741 if (status != VIRTIO_ADMIN_STATUS_OK) {
> 742 dev_err(&vdev->dev,
> 743 "admin command error: status(%#x) qualifier(%#x)\n",
> 744 status, le16_to_cpu(va_status->status_qualifier));
> 745 ret = -status;
> 746 }
> 747
> 748 err_cmd_exec:
> 749 kfree(va_hdr);
> 750 err_alloc:
> 751 kfree(va_status);
> 752 return ret;
> 753 }
> 754
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2023-11-03 7:39 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-29 15:59 [PATCH V2 vfio 0/9] Introduce a vfio driver over virtio devices Yishai Hadas via Virtualization
2023-10-29 15:59 ` [PATCH V2 vfio 1/9] virtio: Define feature bit for administration virtqueue Yishai Hadas via Virtualization
2023-10-29 15:59 ` [PATCH V2 vfio 2/9] virtio-pci: Introduce admin virtqueue Yishai Hadas via Virtualization
2023-10-29 20:22 ` Michael S. Tsirkin
2023-10-30 15:51 ` Parav Pandit via Virtualization
2023-10-30 15:59 ` Michael S. Tsirkin
2023-10-30 18:10 ` Parav Pandit via Virtualization
2023-10-30 23:31 ` Michael S. Tsirkin
2023-10-31 3:11 ` Parav Pandit via Virtualization
2023-10-31 7:59 ` Michael S. Tsirkin
2023-10-31 12:11 ` Parav Pandit via Virtualization
2023-10-29 15:59 ` [PATCH V2 vfio 3/9] virtio-pci: Introduce admin command sending function Yishai Hadas via Virtualization
2023-10-29 20:26 ` Michael S. Tsirkin
2023-10-29 15:59 ` [PATCH V2 vfio 4/9] virtio-pci: Introduce admin commands Yishai Hadas via Virtualization
2023-10-29 15:59 ` [PATCH V2 vfio 5/9] virtio-pci: Initialize the supported " Yishai Hadas via Virtualization
2023-10-29 20:17 ` Michael S. Tsirkin
2023-10-30 15:27 ` Yishai Hadas via Virtualization
2023-10-30 15:57 ` Michael S. Tsirkin
2023-10-30 16:06 ` Yishai Hadas via Virtualization
2023-10-30 23:30 ` Michael S. Tsirkin
2023-11-03 0:33 ` kernel test robot
2023-11-03 7:39 ` Michael S. Tsirkin [this message]
2023-10-29 15:59 ` [PATCH V2 vfio 6/9] virtio-pci: Introduce APIs to execute legacy IO " Yishai Hadas via Virtualization
2023-10-31 8:09 ` Michael S. Tsirkin
2023-10-31 8:30 ` Yishai Hadas via Virtualization
2023-10-31 9:00 ` Michael S. Tsirkin
2023-10-29 15:59 ` [PATCH V2 vfio 7/9] vfio/pci: Expose vfio_pci_core_setup_barmap() Yishai Hadas via Virtualization
2023-10-29 15:59 ` [PATCH V2 vfio 8/9] vfio/pci: Expose vfio_pci_iowrite/read##size() Yishai Hadas via Virtualization
2023-10-29 15:59 ` [PATCH V2 vfio 9/9] vfio/virtio: Introduce a vfio driver over virtio devices Yishai Hadas via Virtualization
[not found] ` <4a5ab8d6-1138-4f4f-bb61-9ec0309d46e6@intel.com>
2023-10-31 8:23 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231103033834-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=jgg@nvidia.com \
--cc=jiri@nvidia.com \
--cc=kvm@vger.kernel.org \
--cc=leonro@nvidia.com \
--cc=lkp@intel.com \
--cc=maorg@nvidia.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).