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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090325115514Q.fujita.tomonori@lab.ntt.co.jp>
Date:	Wed, 25 Mar 2009 11:58:27 +0900
From:	FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>
To:	beckyb@...nel.crashing.org
Cc:	linux-kernel@...r.kernel.org, mingo@...e.hu,
	fujita.tomonori@....ntt.co.jp, ian.campbell@...rix.com,
	jeremy@...p.org
Subject: Re: [PATCH 5/5] swiotlb: Allow arch override of
 address_needs_mapping

On Tue, 24 Mar 2009 16:28:46 -0500
Becky Bruce <beckyb@...nel.crashing.org> wrote:

> Some architectures require additional checking to determine
> if a device can dma to an address and need to provide their
> own address_needs_mapping..
> 
> Signed-off-by: Becky Bruce <beckyb@...nel.crashing.org>
> ---
>  lib/swiotlb.c |   10 ++++++++--
>  1 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> index b33180e..f365735 100644
> --- a/lib/swiotlb.c
> +++ b/lib/swiotlb.c
> @@ -145,6 +145,12 @@ void __weak *swiotlb_bus_to_virt(struct device *hwdev, dma_addr_t address)
>  	return phys_to_virt(swiotlb_bus_to_phys(hwdev, address));
>  }
>  
> +int __weak swiotlb_arch_address_needs_mapping(struct device *hwdev,
> +					       dma_addr_t addr, size_t size)
> +{
> +	return !is_buffer_dma_capable(dma_get_mask(hwdev), addr, size);
> +}
> +
>  int __weak swiotlb_arch_range_needs_mapping(phys_addr_t paddr, size_t size)
>  {
>  	return 0;
> @@ -309,10 +315,10 @@ cleanup1:
>  	return -ENOMEM;
>  }
>  
> -static int
> +static inline int
>  address_needs_mapping(struct device *hwdev, dma_addr_t addr, size_t size)
>  {
> -	return !is_buffer_dma_capable(dma_get_mask(hwdev), addr, size);
> +	return swiotlb_arch_address_needs_mapping(hwdev, addr, size);
>  }
>  
>  static inline int range_needs_mapping(phys_addr_t paddr, size_t size)

Looks fine to me. Though I guess that we could clean up
swiotlb_arch_range_needs_mapping and
swiotlb_arch_address_needs_mapping a bit (at least, the names are
confusing).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ