[{"id":2936342,"web_url":"http://patchwork.ozlabs.org/comment/2936342/","msgid":"<ba2ae3e4-a950-6b7f-8748-c45a685bb6b0@redhat.com>","list_archive_url":null,"date":"2022-07-21T03:36:19","subject":"Re: [PATCH v12 01/40] virtio: record the maximum queue num supported\n by the device.","submitter":{"id":5225,"url":"http://patchwork.ozlabs.org/api/people/5225/","name":"Jason Wang","email":"jasowang@redhat.com"},"content":"在 2022/7/20 11:03, Xuan Zhuo 写道:\n> virtio-net can display the maximum (supported by hardware) ring size in\n> ethtool -g eth0.\n>\n> When the subsequent patch implements vring reset, it can judge whether\n> the ring size passed by the driver is legal based on this.\n>\n> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>\n\nAcked-by: Jason Wang <jasowang@redhat.com>\n\n\n> ---\n>   arch/um/drivers/virtio_uml.c             | 1 +\n>   drivers/platform/mellanox/mlxbf-tmfifo.c | 2 ++\n>   drivers/remoteproc/remoteproc_virtio.c   | 2 ++\n>   drivers/s390/virtio/virtio_ccw.c         | 3 +++\n>   drivers/virtio/virtio_mmio.c             | 2 ++\n>   drivers/virtio/virtio_pci_legacy.c       | 2 ++\n>   drivers/virtio/virtio_pci_modern.c       | 2 ++\n>   drivers/virtio/virtio_vdpa.c             | 2 ++\n>   include/linux/virtio.h                   | 2 ++\n>   9 files changed, 18 insertions(+)\n>\n> diff --git a/arch/um/drivers/virtio_uml.c b/arch/um/drivers/virtio_uml.c\n> index 82ff3785bf69..e719af8bdf56 100644\n> --- a/arch/um/drivers/virtio_uml.c\n> +++ b/arch/um/drivers/virtio_uml.c\n> @@ -958,6 +958,7 @@ static struct virtqueue *vu_setup_vq(struct virtio_device *vdev,\n>   \t\tgoto error_create;\n>   \t}\n>   \tvq->priv = info;\n> +\tvq->num_max = num;\n>   \tnum = virtqueue_get_vring_size(vq);\n>   \n>   \tif (vu_dev->protocol_features &\n> diff --git a/drivers/platform/mellanox/mlxbf-tmfifo.c b/drivers/platform/mellanox/mlxbf-tmfifo.c\n> index 38800e86ed8a..1ae3c56b66b0 100644\n> --- a/drivers/platform/mellanox/mlxbf-tmfifo.c\n> +++ b/drivers/platform/mellanox/mlxbf-tmfifo.c\n> @@ -959,6 +959,8 @@ static int mlxbf_tmfifo_virtio_find_vqs(struct virtio_device *vdev,\n>   \t\t\tgoto error;\n>   \t\t}\n>   \n> +\t\tvq->num_max = vring->num;\n> +\n>   \t\tvqs[i] = vq;\n>   \t\tvring->vq = vq;\n>   \t\tvq->priv = vring;\n> diff --git a/drivers/remoteproc/remoteproc_virtio.c b/drivers/remoteproc/remoteproc_virtio.c\n> index d43d74733f0a..0f7706e23eb9 100644\n> --- a/drivers/remoteproc/remoteproc_virtio.c\n> +++ b/drivers/remoteproc/remoteproc_virtio.c\n> @@ -125,6 +125,8 @@ static struct virtqueue *rp_find_vq(struct virtio_device *vdev,\n>   \t\treturn ERR_PTR(-ENOMEM);\n>   \t}\n>   \n> +\tvq->num_max = num;\n> +\n>   \trvring->vq = vq;\n>   \tvq->priv = rvring;\n>   \n> diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c\n> index 161d3b141f0d..6b86d0280d6b 100644\n> --- a/drivers/s390/virtio/virtio_ccw.c\n> +++ b/drivers/s390/virtio/virtio_ccw.c\n> @@ -530,6 +530,9 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev,\n>   \t\terr = -ENOMEM;\n>   \t\tgoto out_err;\n>   \t}\n> +\n> +\tvq->num_max = info->num;\n> +\n>   \t/* it may have been reduced */\n>   \tinfo->num = virtqueue_get_vring_size(vq);\n>   \n> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c\n> index 083ff1eb743d..a20d5a6b5819 100644\n> --- a/drivers/virtio/virtio_mmio.c\n> +++ b/drivers/virtio/virtio_mmio.c\n> @@ -403,6 +403,8 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned int in\n>   \t\tgoto error_new_virtqueue;\n>   \t}\n>   \n> +\tvq->num_max = num;\n> +\n>   \t/* Activate the queue */\n>   \twritel(virtqueue_get_vring_size(vq), vm_dev->base + VIRTIO_MMIO_QUEUE_NUM);\n>   \tif (vm_dev->version == 1) {\n> diff --git a/drivers/virtio/virtio_pci_legacy.c b/drivers/virtio/virtio_pci_legacy.c\n> index a5e5721145c7..2257f1b3d8ae 100644\n> --- a/drivers/virtio/virtio_pci_legacy.c\n> +++ b/drivers/virtio/virtio_pci_legacy.c\n> @@ -135,6 +135,8 @@ static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,\n>   \tif (!vq)\n>   \t\treturn ERR_PTR(-ENOMEM);\n>   \n> +\tvq->num_max = num;\n> +\n>   \tq_pfn = virtqueue_get_desc_addr(vq) >> VIRTIO_PCI_QUEUE_ADDR_SHIFT;\n>   \tif (q_pfn >> 32) {\n>   \t\tdev_err(&vp_dev->pci_dev->dev,\n> diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c\n> index 623906b4996c..e7e0b8c850f6 100644\n> --- a/drivers/virtio/virtio_pci_modern.c\n> +++ b/drivers/virtio/virtio_pci_modern.c\n> @@ -218,6 +218,8 @@ static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,\n>   \tif (!vq)\n>   \t\treturn ERR_PTR(-ENOMEM);\n>   \n> +\tvq->num_max = num;\n> +\n>   \t/* activate the queue */\n>   \tvp_modern_set_queue_size(mdev, index, virtqueue_get_vring_size(vq));\n>   \tvp_modern_queue_address(mdev, index, virtqueue_get_desc_addr(vq),\n> diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c\n> index c40f7deb6b5a..9670cc79371d 100644\n> --- a/drivers/virtio/virtio_vdpa.c\n> +++ b/drivers/virtio/virtio_vdpa.c\n> @@ -183,6 +183,8 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index,\n>   \t\tgoto error_new_virtqueue;\n>   \t}\n>   \n> +\tvq->num_max = max_num;\n> +\n>   \t/* Setup virtqueue callback */\n>   \tcb.callback = callback ? virtio_vdpa_virtqueue_cb : NULL;\n>   \tcb.private = info;\n> diff --git a/include/linux/virtio.h b/include/linux/virtio.h\n> index d8fdf170637c..129bde7521e3 100644\n> --- a/include/linux/virtio.h\n> +++ b/include/linux/virtio.h\n> @@ -19,6 +19,7 @@\n>    * @priv: a pointer for the virtqueue implementation to use.\n>    * @index: the zero-based ordinal number for this queue.\n>    * @num_free: number of elements we expect to be able to fit.\n> + * @num_max: the maximum number of elements supported by the device.\n>    *\n>    * A note on @num_free: with indirect buffers, each buffer needs one\n>    * element in the queue, otherwise a buffer will need one element per\n> @@ -31,6 +32,7 @@ struct virtqueue {\n>   \tstruct virtio_device *vdev;\n>   \tunsigned int index;\n>   \tunsigned int num_free;\n> +\tunsigned int num_max;\n>   \tvoid *priv;\n>   };\n>","headers":{"Return-Path":"\n <linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["bilbo.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=A5IzP4bk;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=ZjjlklKO;\n\tdkim-atps=neutral","ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=<UNKNOWN>)","relay.mimecast.com;\n\tauth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jasowang@redhat.com"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby bilbo.ozlabs.org (Postfix) with ESMTPS id 4LpJCX6s9wz9sFk\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 21 Jul 2022 13:36:56 +1000 (AEST)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux))\n\tid 1oEMzU-00FmDl-DC; Thu, 21 Jul 2022 03:36:44 +0000","from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n\tby bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux))\n\tid 1oEMzR-00Fm2e-D7\n\tfor linux-um@lists.infradead.org; Thu, 21 Jul 2022 03:36:43 +0000","from mail-pg1-f199.google.com (mail-pg1-f199.google.com\n [209.85.215.199]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n us-mta-183-qJqylHCCPjCbKnZAMNtAbg-1; Wed, 20 Jul 2022 23:36:36 -0400","by mail-pg1-f199.google.com with SMTP id\n i191-20020a6387c8000000b00419ffb2bb90so278324pge.14\n        for <linux-um@lists.infradead.org>;\n Wed, 20 Jul 2022 20:36:36 -0700 (PDT)","from [10.72.12.47] ([209.132.188.80])\n        by smtp.gmail.com with ESMTPSA id\n x22-20020aa79416000000b005289fad1bbesm424278pfo.94.2022.07.20.20.36.24\n        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n        Wed, 20 Jul 2022 20:36:34 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject:\n\tMIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=o5w7Ai026QXM8jSFLfsseKrUP8tVG97C174mUQXgKng=; b=A5IzP4bkbZz8t1\n\t5POBqzMvsypv6wwTcwoPlSbDfsHOQ0qbxAz1bI43WYv8o99rOjlxCrm0JY7GtcNK/hXumCDdsyZGG\n\t8hXgKiE4u37G18mznp6LTy49vTxZaFD7Lv5WkMIMCb5mXDsG04mFEsqztpcKgQkO79ZuMJQfNYvEQ\n\tvUUQ3rl1t81lqav6eKEMuaDl68rdp0hfeycNeKB6jrXQ0CZhoI8pzAA4mw9n55q7GOWoQNqt8ymk/\n\tE35odUaAMraPi5SYNeNvKvS1OssScO2oLsCi3INwY71CuvkoYCFPvd+p6GdXDc3CQIw8NFYRGRoej\n\t+ITKqc1YMjkHKje1N2bg==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1658374598;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\t to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\t content-transfer-encoding:content-transfer-encoding:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=XZs2MTtPJCgrF13MTLP6HwaK4P20s9o4BWWN0llGmLc=;\n\tb=ZjjlklKOprzUcLcMwI0kdX0GfEwuN9oeyLBFpO2LkBoSK8xN372EoL5IFC2dtBQ7GOtyP2\n\tX0bLDNh1W4VuejvPhBfPCPpOgYTkCXg0XzYWDA8+UwDK4uFVHR/7CkUJEshWeaFQeQtsxd\n\trmWRbAoZiEvGnQxjqCo1AuGZgTF/0aY="],"X-MC-Unique":"qJqylHCCPjCbKnZAMNtAbg-1","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20210112;\n        h=x-gm-message-state:message-id:date:mime-version:user-agent:subject\n         :content-language:to:cc:references:from:in-reply-to\n         :content-transfer-encoding;\n        bh=XZs2MTtPJCgrF13MTLP6HwaK4P20s9o4BWWN0llGmLc=;\n        b=FBlq/7Xsc72Zfd7i7KEbSmvrWemXRtDZp8TeUVJSemO6AEmHw3mEIPyXlKpgUvHerB\n         1S8gXpmUVM9qVo2hLpJLNnyAZh833R5eTYuWcrJHh2MB40y8aSfEkdKITg2p3WDbXMIl\n         Dwd+udb7CNJpxzmNYeG7FO8IzDp4l7Ovp1G0yG8b6qLKmEiCxgJCrZgIyX1FfPPoPETx\n         icFzq2Wt/SysbyJXsGdzQOEZgRAerTlkMZZuGa4P90Ja4StUx91IZuB3Gz4nQhkS0hQe\n         AVFALrlMCVjOwFRCgQ/PCiRp4SwFIEa/JrVDaQemo0AjjbiG+XPuVPQas7G81IIAQCP8\n         d37w==","X-Gm-Message-State":"AJIora8yDNX39nRzUHDyxp8XJNANC14UemymLJIoKeGGuU+bmbcJuiz+\n\tzGgiVPO4t2xNkq1QtT1jiDx5QBmBqznnzXZZgfxPQQcH9awCrBU9dzympFXc/HWhbGTenLtBFTc\n\t973ScEfORRnNmD9pPCID/SzQ+","X-Received":["by 2002:a17:903:230c:b0:16c:4c65:18be with SMTP id\n d12-20020a170903230c00b0016c4c6518bemr41221937plh.138.1658374595119;\n        Wed, 20 Jul 2022 20:36:35 -0700 (PDT)","by 2002:a17:903:230c:b0:16c:4c65:18be with SMTP id\n d12-20020a170903230c00b0016c4c6518bemr41221903plh.138.1658374594755;\n        Wed, 20 Jul 2022 20:36:34 -0700 (PDT)"],"X-Google-Smtp-Source":"\n AGRyM1tr2BE9d26jAFZ7UzmaXmDCEYEs27OTIGhFU26HuMl2rkNob1MeYihMEZsIvqYHGU+JOzJneA==","Message-ID":"<ba2ae3e4-a950-6b7f-8748-c45a685bb6b0@redhat.com>","Date":"Thu, 21 Jul 2022 11:36:19 +0800","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)\n Gecko/20100101 Thunderbird/91.11.0","Subject":"Re: [PATCH v12 01/40] virtio: record the maximum queue num supported\n by the device.","To":"Xuan Zhuo <xuanzhuo@linux.alibaba.com>,\n virtualization@lists.linux-foundation.org","Cc":"Richard Weinberger <richard@nod.at>,\n Anton Ivanov <anton.ivanov@cambridgegreys.com>,\n Johannes Berg <johannes@sipsolutions.net>,\n \"Michael S. Tsirkin\" <mst@redhat.com>, \"David S. Miller\"\n <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,\n Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,\n Hans de Goede <hdegoede@redhat.com>, Mark Gross <markgross@kernel.org>,\n Vadim Pasternak <vadimp@nvidia.com>,\n Bjorn Andersson <bjorn.andersson@linaro.org>,\n Mathieu Poirier <mathieu.poirier@linaro.org>,\n Cornelia Huck <cohuck@redhat.com>, Halil Pasic <pasic@linux.ibm.com>,\n Eric Farman <farman@linux.ibm.com>, Heiko Carstens <hca@linux.ibm.com>,\n Vasily Gorbik <gor@linux.ibm.com>, Alexander Gordeev\n <agordeev@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>,\n Sven Schnelle <svens@linux.ibm.com>, Alexei Starovoitov <ast@kernel.org>,\n Daniel Borkmann <daniel@iogearbox.net>,\n Jesper Dangaard Brouer <hawk@kernel.org>,\n John Fastabend <john.fastabend@gmail.com>,\n Vincent Whitchurch <vincent.whitchurch@axis.com>,\n linux-um@lists.infradead.org, netdev@vger.kernel.org,\n platform-driver-x86@vger.kernel.org, linux-remoteproc@vger.kernel.org,\n linux-s390@vger.kernel.org, kvm@vger.kernel.org, bpf@vger.kernel.org,\n kangjie.xu@linux.alibaba.com","References":"<20220720030436.79520-1-xuanzhuo@linux.alibaba.com>\n <20220720030436.79520-2-xuanzhuo@linux.alibaba.com>","From":"Jason Wang <jasowang@redhat.com>","In-Reply-To":"<20220720030436.79520-2-xuanzhuo@linux.alibaba.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20220720_203641_717145_74FFDB8E ","X-CRM114-Status":"GOOD (  21.89  )","X-Spam-Score":"-1.6 (-)","X-Spam-Report":"=?unknown-8bit?q?Spam_detection_software=2C_running_on_the_sy?=\n\t=?unknown-8bit?q?stem_=22bombadil=2Einfradead=2Eorg=22=2C?=\n\t=?unknown-8bit?q?_has_NOT_identified_this_incoming_email_as_spam=2E__The_ori?=\n\t=?unknown-8bit?q?ginal?=\n\t=?unknown-8bit?q?_message_has_been_attached_to_this_so_you_can_view_it_or_la?=\n\t=?unknown-8bit?q?bel?=\n\t=?unknown-8bit?q?_similar_future_email=2E__If_you_have_any_questions=2C_see?=\n\t=?unknown-8bit?q?_the_administrator_of_that_system_for_details=2E?=\n\t=?unknown-8bit?q?_?=\n\t=?unknown-8bit?q?_Content_preview=3A__=E5=9C=A8_2022/7/20_11=3A03=2C_Xuan_Zh?=\n\t=?unknown-8bit?q?uo_=E5=86=99=E9=81=93=3A_=3E_virtio-net_can_display?=\n\t=?unknown-8bit?q?_the_maximum_=28supported_by_hardware=29_ring_size_in_=3E_e?=\n\t=?unknown-8bit?q?thtool_-g_eth0=2E_=3E_=3E_When?=\n\t=?unknown-8bit?q?_the_subsequent_patch_implements_vring_reset=2C_it_can_judg?=\n\t=?unknown-8bit?q?e_w_=5B=2E=2E=2E=5D_?=\n\t=?unknown-8bit?q?_?=\n\t=?unknown-8bit?q?_Content_analysis_details=3A___=28-1=2E6_points=2C_5=2E0_re?=\n\t=?unknown-8bit?q?quired=29?=\n\t=?unknown-8bit?q?_?=\n\t=?unknown-8bit?q?_pts_rule_name______________description?=\n\t=?unknown-8bit?q?_----_----------------------_------------------------------?=\n\t=?unknown-8bit?q?--------------------?=\n\t=?unknown-8bit?q?_-0=2E7_RCVD=5FIN=5FDNSWL=5FLOW______RBL=3A_Sender_listed_a?=\n\t=?unknown-8bit?q?t_https=3A//www=2Ednswl=2Eorg/=2C?=\n\t=?unknown-8bit?q?_low_trust?=\n\t=?unknown-8bit?q?_=5B170=2E10=2E129=2E124_listed_in_list=2Ednswl=2Eorg=5D?=\n\t=?unknown-8bit?q?_0=2E0_SPF=5FHELO=5FNONE__________SPF=3A_HELO_does_not_publ?=\n\t=?unknown-8bit?q?ish_an_SPF_Record?=\n\t=?unknown-8bit?q?_0=2E0_SPF=5FNONE_______________SPF=3A_sender_does_not_publ?=\n\t=?unknown-8bit?q?ish_an_SPF_Record?=\n\t=?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FAU__________Message_has_a_valid_DKIM?=\n\t=?unknown-8bit?q?_or_DK_signature_from?=\n\t=?unknown-8bit?q?_author=27s_domain?=\n\t=?unknown-8bit?q?_-0=2E1_DKIM=5FVALID_____________Message_has_at_least_one_v?=\n\t=?unknown-8bit?q?alid_DKIM_or_DK_signature?=\n\t=?unknown-8bit?q?_0=2E1_DKIM=5FSIGNED____________Message_has_a_DKIM_or_DK_si?=\n\t=?unknown-8bit?q?gnature=2C_not_necessarily?=\n\t=?unknown-8bit?q?_valid?=\n\t=?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FEF__________Message_has_a_valid_DKIM?=\n\t=?unknown-8bit?q?_or_DK_signature_from?=\n\t=?unknown-8bit?q?_envelope-from_domain?=\n\t=?unknown-8bit?q?_-0=2E5_NICE=5FREPLY=5FA___________Looks_like_a_legit_reply?=\n\t=?unknown-8bit?q?_=28A=29?=\n\t=?unknown-8bit?q?_-0=2E2_DKIMWL=5FWL=5FHIGH_________DKIMwl=2Eorg_-_High_trus?=\n\t=?unknown-8bit?q?t_sender?=","X-BeenThere":"linux-um@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"<linux-um.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-um>,\n <mailto:linux-um-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-um/>","List-Post":"<mailto:linux-um@lists.infradead.org>","List-Help":"<mailto:linux-um-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-um>,\n <mailto:linux-um-request@lists.infradead.org?subject=subscribe>","Content-Transfer-Encoding":"base64","Content-Type":"text/plain; charset=\"utf-8\"; Format=\"flowed\"","Sender":"\"linux-um\" <linux-um-bounces@lists.infradead.org>","Errors-To":"linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"}}]