All of lore.kernel.org
 help / color / mirror / Atom feed
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] ARM: LPAE: don't reject mapping /dev/mem above 4GB
Date: Tue, 2 Jul 2013 18:15:31 +0100	[thread overview]
Message-ID: <20130702171530.GG24828@arm.com> (raw)
In-Reply-To: <1372780685-2528-1-git-send-email-dserrg@gmail.com>

On Tue, Jul 02, 2013 at 04:58:05PM +0100, Sergey Dyasly wrote:
> With LPAE enabled, physical address space is larger than 4GB. Allow mapping any
> part of it via /dev/mem by utilizing the same check as in arm64.
> 
> PHYS_MASK covers 40 bits with LPAE enabled and 32 bits otherwise.
> 
> Signed-off-by: Sergey Dyasly <dserrg@gmail.com>
> ---
> 
> v2:
> - Removed #ifdef and changed original function as suggested by Catalin Marinas
> 
>  arch/arm/mm/mmap.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c
> index 10062ce..09bab92 100644
> --- a/arch/arm/mm/mmap.c
> +++ b/arch/arm/mm/mmap.c
> @@ -204,13 +204,11 @@ int valid_phys_addr_range(phys_addr_t addr, size_t size)
>  }
>  
>  /*
> - * We don't use supersection mappings for mmap() on /dev/mem, which
> - * means that we can't map the memory area above the 4G barrier into
> - * userspace.
> + * Do not allow /dev/mem mappings beyond the supported physical range.
>   */
>  int valid_mmap_phys_addr_range(unsigned long pfn, size_t size)
>  {
> -	return !(pfn + (size >> PAGE_SHIFT) > 0x00100000);
> +	return !(((pfn << PAGE_SHIFT) + size) & ~PHYS_MASK);

I don't think that's what I suggested. For classic MMU ~PHYS_MASK is 0.

-- 
Catalin

  reply	other threads:[~2013-07-02 17:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-02 15:58 [PATCH v2] ARM: LPAE: don't reject mapping /dev/mem above 4GB Sergey Dyasly
2013-07-02 17:15 ` Catalin Marinas [this message]
2013-07-03 15:37   ` Sergey Dyasly

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130702171530.GG24828@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.