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]
Message-ID: <2d807de3-e245-c2fb-ae5d-7cacbe35dfcb@huawei.com>
Date:   Fri, 27 Aug 2021 09:57:42 +0100
From:   John Garry <john.garry@...wei.com>
To:     Xie Yongji <xieyongji@...edance.com>, <mst@...hat.com>,
        <jasowang@...hat.com>, <stefanha@...hat.com>,
        <sgarzare@...hat.com>, <parav@...dia.com>, <hch@...radead.org>,
        <christian.brauner@...onical.com>, <rdunlap@...radead.org>,
        <willy@...radead.org>, <viro@...iv.linux.org.uk>,
        <axboe@...nel.dk>, <bcrl@...ck.org>, <corbet@....net>,
        <mika.penttila@...tfour.com>, <dan.carpenter@...cle.com>,
        <joro@...tes.org>, <gregkh@...uxfoundation.org>,
        <zhe.he@...driver.com>, <xiaodong.liu@...el.com>,
        <joe@...ches.com>, <robin.murphy@....com>
CC:     <kvm@...r.kernel.org>, <netdev@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>,
        <virtualization@...ts.linux-foundation.org>,
        <iommu@...ts.linux-foundation.org>, <songmuchun@...edance.com>,
        <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH v11 10/12] vduse: Implement an MMU-based software IOTLB

On 18/08/2021 13:06, Xie Yongji wrote:
> +
> +static dma_addr_t
> +vduse_domain_alloc_iova(struct iova_domain *iovad,
> +			unsigned long size, unsigned long limit)
> +{
> +	unsigned long shift = iova_shift(iovad);
> +	unsigned long iova_len = iova_align(iovad, size) >> shift;
> +	unsigned long iova_pfn;
> +
> +	/*
> +	 * Freeing non-power-of-two-sized allocations back into the IOVA caches
> +	 * will come back to bite us badly, so we have to waste a bit of space
> +	 * rounding up anything cacheable to make sure that can't happen. The
> +	 * order of the unadjusted size will still match upon freeing.
> +	 */
> +	if (iova_len < (1 << (IOVA_RANGE_CACHE_MAX_SIZE - 1)))
> +		iova_len = roundup_pow_of_two(iova_len);

Whether it's proper to use this "fast" API or not here, this seems to be 
copied verbatim from dma-iommu.c, which tells me that something should 
be factored out.

Indeed, this rounding up seems a requirement of the rcache, so not sure 
why this is not done there.

> +	iova_pfn = alloc_iova_fast(iovad, iova_len, limit >> shift, true);


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ