[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 01/21] AMD/IOMMU: correct potentially-UB shifts
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Date: Tue, 3 May 2022 12:10:42 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ROOFs89QgiNf7MgTSRV/8whKC9Rvw6o7cuRUEYQGDD4=; b=Y6gSy732MVl9nt0j4AKk55+p3hRsRAnOFO6OmNyVHIB7nPdaW+FP74Uf1RbHmebslmNW7ileu0c67TSQGE3sgG3CN78fzBpK1yhp3qsOpvu2wuTeWH1JSAQTsA7w44eJh1kvfETYX4SlkJ1NEwLxYzfXdh/PT4Y131sPMULGmygh4gfRkpiLiyuAHjY21c1iqzGbnLABGYcw7l06b9XNhqoG+APhHwGF9Z/fc0jSDzfFHChAy8G2TsJSYHC7okksSFpmvXbNPHQ8on/c3N4bOI7JKouyuak+6irpZJnas31wamv8EifXoO7Lrm8xosfmRPdFXxhUCx3d9Sv7cdR3DQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lY+2/W175nW0WRBtOYpKOa0QmNVZinli8NInjGVdwT00KvNpc/PmNj0wfha0YUlvxhWxff/pkoo4XSgQcb9xpKVylp7YfntcgekFPxhnHnqLxPy8w57OISb0mcRZrLwDNIz7jkmZUi4Gq3cLTg8/viKi0mjMpy45e7ku5HEP0zQ9ODq41YqewDfIQg/NiWorPSpWtsiXvUYNRkGUMw8LcGy76nfYtr8t3JiThQTfgJ9Pc41iUrFMfMOr8q+vAXBqEpBxoH5wGdeHWHuTl6vJXl6jVul96UCtk9/ZwxrQT1tbn6WPO/nZYKH3eCf07Q3hsWQthgckS8Db9EVOWREjNg==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>
- Delivery-date: Tue, 03 May 2022 10:11:07 +0000
- Ironport-data: A9a23:pBJAmK6+HSELHynP2SlH4QxRtEnGchMFZxGqfqrLsTDasY5as4F+v jNMCzqBPvyJM2P9L9klPou1pBsC6JTVydRiGQo9rng0Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA +E2MISowBUcFyeEzvuVGuG96yE6j8lkf5KkYAL+EnkZqTRMFWFw0HqPp8Zj2tQy2YXhWFvU0 T/Pi5a31GGNimYc3l08s8pvmDs31BglkGpF1rCWTakjUG72zxH5PrpGTU2CByKQrr1vNvy7X 47+IISRpQs1yfuP5uSNyd4XemVSKlLb0JPnZnB+A8BOiTAazsA+PzpS2FPxpi67hh3Q9+2dx umhurSPZyYKI5XAvd4QQgZiOHA5EPR72OXYdC3XXcy7lyUqclPK6tA3VAQaGNNd/ex6R2ZT6 fYfNTYBKAiZgP67y666Te8qgdk/KM7sP8UUvXQIITPxVK56B8ycBfiao4YAhF/chegXdRraT 9AeZjd1KgzJfjVEO0sNCYJ4l+Ct7pX6W2IA+A/E/fFpi4TV5AFdgZ+0HPrrQ9qPd/tJnE+5u WOW9WusV3n2M/Tak1Jp6EmEhOXCgCf6U4I6D6Cj+7hhh1j77nweDlgaWEW2pdG9i1WiQJRPJ koM4C0soKMuskuxQbHVRxSlpFaUsxhaXMBfe9DW8ymIw6vQpgqcWG4NS2cZbMR87ZduAzs3y lWOgtXlQyR1t6GYQm6c8bHSqi6uPS8SLikJYipsoRY53uQPabob1nrnJuuP2obs37UZxRmYL +i2kRUD
- Ironport-hdrordr: A9a23:Gkm7vqjfaa1pwg7AFfJOivmSGXBQX1N13DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03I+eruBEBPewK4yXdQ2/hoAV7EZnichILIFvAa0WKG+VHd8kLFltK1uZ 0QEJSWTeeAd2SS7vyKnzVQcexQp+VvmZrA7Ym+854ud3ANV0gJ1XYENu/xKDwTeOApP+taKH LKjfA32gZINE5nJviTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1Su1 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfo2oCoZ 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8AzeSWCQfkNIN+NxwaZiNjfJ4Uspu99xlI hR2XiCipZRBRTc2Azg+tnhTXhR5wSJiEtntdRWo21UUIMYZrMUh5cY5llpHJAJGz+/wJw7Ed NpENrX6J9tABynhkjizylSKeGXLzcO9k/seDlBhiXV6UkboJlB9TpY+CRF9U1wsa7USPF/lp D52+pT5fVzp/QtHNNA7dc6MLWK41P2MGLx2UKpUCLa/fI8SjvwQ6Ce2sRG2MiaPLo18bAVpL PtFHtliE9aQTOaNSTJ5uwHzizw
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Mon, Apr 25, 2022 at 10:30:33AM +0200, Jan Beulich wrote:
> Recent changes (likely 5fafa6cf529a ["AMD/IOMMU: have callers specify
> the target level for page table walks"]) have made Coverity notice a
> shift count in iommu_pde_from_dfn() which might in theory grow too
> large. While this isn't a problem in practice, address the concern
> nevertheless to not leave dangling breakage in case very large
> superpages would be enabled at some point.
>
> Coverity ID: 1504264
>
> While there also address a similar issue in set_iommu_ptes_present().
> It's not clear to me why Coverity hasn't spotted that one.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> ---
> v4: New.
>
> --- a/xen/drivers/passthrough/amd/iommu_map.c
> +++ b/xen/drivers/passthrough/amd/iommu_map.c
> @@ -89,11 +89,11 @@ static unsigned int set_iommu_ptes_prese
> bool iw, bool ir)
> {
> union amd_iommu_pte *table, *pde;
> - unsigned int page_sz, flush_flags = 0;
> + unsigned long page_sz = 1UL << (PTE_PER_TABLE_SHIFT * (pde_level - 1));
Seeing the discussion from Andrews reply, nr_pages might be more
appropriate while still quite short.
I'm not making my Rb conditional to that change though.
Thanks, Roger.
|