Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1608085
| From | "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/7] iommu/iova: fix incorrect variable types |
| Date | 2017-03-24 03:30 +0100 |
| Message-ID | <ton9g-35t-7@gated-at.bofh.it> (permalink) |
| References | <tnHWp-6wq-9@gated-at.bofh.it> <tnI65-6zm-7@gated-at.bofh.it> <to9pE-1Et-21@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 2017/3/23 19:42, Robin Murphy wrote:
> On 22/03/17 06:27, Zhen Lei wrote:
>> Keep these four variables type consistent with the paramters of function
>> __alloc_and_insert_iova_range and the members of struct iova:
>>
>> 1. static int __alloc_and_insert_iova_range(struct iova_domain *iovad,
>> unsigned long size, unsigned long limit_pfn,
>>
>> 2. struct iova {
>> unsigned long pfn_hi;
>> unsigned long pfn_lo;
>>
>> In fact, limit_pfn is most likely larger than 32 bits on DMA64.
>
> FWIW if pad_size manages to overflow an int something's probably gone
> horribly wrong, but there's no harm in making it consistent with
> everything else here. However, given that patch #6 makes this irrelevant
> anyway, do we really need to bother?
Because I'm not sure whether patch #6 can be applied or not.
>
> Robin.
>
>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
>> ---
>> drivers/iommu/iova.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/iommu/iova.c b/drivers/iommu/iova.c
>> index b7268a1..8ba8b496 100644
>> --- a/drivers/iommu/iova.c
>> +++ b/drivers/iommu/iova.c
>> @@ -104,8 +104,8 @@ __cached_rbnode_delete_update(struct iova_domain *iovad, struct iova *free)
>> * Computes the padding size required, to make the start address
>> * naturally aligned on the power-of-two order of its size
>> */
>> -static unsigned int
>> -iova_get_pad_size(unsigned int size, unsigned int limit_pfn)
>> +static unsigned long
>> +iova_get_pad_size(unsigned long size, unsigned long limit_pfn)
>> {
>> return (limit_pfn + 1 - size) & (__roundup_pow_of_two(size) - 1);
>> }
>> @@ -117,7 +117,7 @@ static int __alloc_and_insert_iova_range(struct iova_domain *iovad,
>> struct rb_node *prev, *curr = NULL;
>> unsigned long flags;
>> unsigned long saved_pfn;
>> - unsigned int pad_size = 0;
>> + unsigned long pad_size = 0;
>>
>> /* Walk the tree backwards */
>> spin_lock_irqsave(&iovad->iova_rbtree_lock, flags);
>>
>
>
> .
>
--
Thanks!
BestRegards
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/7] iommu/iova: improve the allocation performance of dma64 Zhen Lei <thunder.leizhen@huawei.com> - 2017-03-22 07:30 +0100
[PATCH 5/7] iommu/iova: to optimize the allocation performance of dma64 Zhen Lei <thunder.leizhen@huawei.com> - 2017-03-22 07:40 +0100
[PATCH 1/7] iommu/iova: fix incorrect variable types Zhen Lei <thunder.leizhen@huawei.com> - 2017-03-22 07:40 +0100
Re: [PATCH 1/7] iommu/iova: fix incorrect variable types Robin Murphy <robin.murphy@arm.com> - 2017-03-23 12:50 +0100
Re: [PATCH 1/7] iommu/iova: fix incorrect variable types "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com> - 2017-03-24 03:30 +0100
[PATCH 3/7] iommu/iova: insert start_pfn boundary of dma32 Zhen Lei <thunder.leizhen@huawei.com> - 2017-03-22 07:40 +0100
Re: [PATCH 3/7] iommu/iova: insert start_pfn boundary of dma32 Robin Murphy <robin.murphy@arm.com> - 2017-03-23 14:10 +0100
Re: [PATCH 3/7] iommu/iova: insert start_pfn boundary of dma32 "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com> - 2017-03-24 04:50 +0100
[PATCH 4/7] iommu/iova: adjust __cached_rbnode_insert_update Zhen Lei <thunder.leizhen@huawei.com> - 2017-03-22 07:40 +0100
[PATCH 6/7] iommu/iova: move the caculation of pad mask out of loop Zhen Lei <thunder.leizhen@huawei.com> - 2017-03-22 07:40 +0100
[PATCH 7/7] iommu/iova: fix iovad->dma_32bit_pfn as the last pfn of dma32 Zhen Lei <thunder.leizhen@huawei.com> - 2017-03-22 07:40 +0100
csiph-web