Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1186321 > unrolled thread

[PATCH RESEND 1/3] mm, x86: Fix warning in ioremap RAM check

Started byToshi Kani <toshi.kani@hp.com>
First post2015-07-17 01:30 +0200
Last post2015-07-22 19:00 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH RESEND 1/3] mm, x86: Fix warning in ioremap RAM check Toshi Kani <toshi.kani@hp.com> - 2015-07-17 01:30 +0200
    [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram()   to the call site tip-bot for Toshi Kani <tipbot@zytor.com> - 2015-07-22 17:30 +0200
      Re: [tip:x86/urgent] x86/mm: Move warning from  __ioremap_check_ram() to the call site Toshi Kani <toshi.kani@hp.com> - 2015-07-22 17:40 +0200
        Re: [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram()  to the call site Thomas Gleixner <tglx@linutronix.de> - 2015-07-22 18:50 +0200
          Re: [tip:x86/urgent] x86/mm: Move warning from  __ioremap_check_ram() to the call site Toshi Kani <toshi.kani@hp.com> - 2015-07-22 19:00 +0200

#1186321 — [PATCH RESEND 1/3] mm, x86: Fix warning in ioremap RAM check

FromToshi Kani <toshi.kani@hp.com>
Date2015-07-17 01:30 +0200
Subject[PATCH RESEND 1/3] mm, x86: Fix warning in ioremap RAM check
Message-ID<pN0Lg-4CQ-19@gated-at.bofh.it>
__ioremap_caller() calls __ioremap_check_ram() through
walk_system_ram_range() to check if a target range is in RAM.
__ioremap_check_ram() has WARN_ONCE() in a wrong place where
it warns when the given range is not RAM.  This misplaced
warning is not exposed since walk_system_ram_range() only
calls __ioremap_check_ram() for RAM ranges.

Move the WARN_ONCE() to __ioremap_caller(), and update the
message to include the address range.

Signed-off-by: Toshi Kani <toshi.kani@hp.com>
Cc: Roland Dreier <roland@purestorage.com>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
---
 arch/x86/mm/ioremap.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index cc5ccc4..fd3df0d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -63,8 +63,6 @@ static int __ioremap_check_ram(unsigned long start_pfn, unsigned long nr_pages,
 		    !PageReserved(pfn_to_page(start_pfn + i)))
 			return 1;
 
-	WARN_ONCE(1, "ioremap on RAM pfn 0x%lx\n", start_pfn);
-
 	return 0;
 }
 
@@ -131,8 +129,11 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
 		pfn      = phys_addr >> PAGE_SHIFT;
 		last_pfn = last_addr >> PAGE_SHIFT;
 		if (walk_system_ram_range(pfn, last_pfn - pfn + 1, NULL,
-					  __ioremap_check_ram) == 1)
+					  __ioremap_check_ram) == 1) {
+			WARN_ONCE(1, "ioremap on RAM at 0x%llx - 0x%llx\n",
+					phys_addr, last_addr);
 			return NULL;
+		}
 	}
 	/*
 	 * Mappings have to be page-aligned
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1190052 — [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site

Fromtip-bot for Toshi Kani <tipbot@zytor.com>
Date2015-07-22 17:30 +0200
Subject[tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site
Message-ID<pP482-2op-13@gated-at.bofh.it>
In reply to#1186321
Commit-ID:  1c9cf9b211030a454a84cbc1cb15b82d9aa49011
Gitweb:     http://git.kernel.org/tip/1c9cf9b211030a454a84cbc1cb15b82d9aa49011
Author:     Toshi Kani <toshi.kani@hp.com>
AuthorDate: Thu, 16 Jul 2015 17:23:14 -0600
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 22 Jul 2015 17:20:33 +0200

x86/mm: Move warning from __ioremap_check_ram() to the call site

__ioremap_check_ram() has a WARN_ONCE() which is emitted when the
given pfn range is not RAM. The warning is bogus in two aspects:

- it never triggers since walk_system_ram_range() only calls
  __ioremap_check_ram() for RAM ranges.

- the warning message is wrong as it says: "ioremap on RAM' after it
  established that the pfn range is not RAM.

Move the WARN_ONCE() to __ioremap_caller(), and update the message to
include the address range so we get an actual warning when something
tries to ioremap system RAM.

[ tglx: Massaged changelog ]

Signed-off-by: Toshi Kani <toshi.kani@hp.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Cc: Roland Dreier <roland@purestorage.com>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: linux-mm@kvack.org
Link: http://lkml.kernel.org/r/1437088996-28511-2-git-send-email-toshi.kani@hp.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/x86/mm/ioremap.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index cc5ccc4..fd3df0d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -63,8 +63,6 @@ static int __ioremap_check_ram(unsigned long start_pfn, unsigned long nr_pages,
 		    !PageReserved(pfn_to_page(start_pfn + i)))
 			return 1;
 
-	WARN_ONCE(1, "ioremap on RAM pfn 0x%lx\n", start_pfn);
-
 	return 0;
 }
 
@@ -131,8 +129,11 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
 		pfn      = phys_addr >> PAGE_SHIFT;
 		last_pfn = last_addr >> PAGE_SHIFT;
 		if (walk_system_ram_range(pfn, last_pfn - pfn + 1, NULL,
-					  __ioremap_check_ram) == 1)
+					  __ioremap_check_ram) == 1) {
+			WARN_ONCE(1, "ioremap on RAM at 0x%llx - 0x%llx\n",
+					phys_addr, last_addr);
 			return NULL;
+		}
 	}
 	/*
 	 * Mappings have to be page-aligned
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1190065 — Re: [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site

FromToshi Kani <toshi.kani@hp.com>
Date2015-07-22 17:40 +0200
SubjectRe: [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site
Message-ID<pP4hJ-2zJ-31@gated-at.bofh.it>
In reply to#1190052
Thomas,

Dan took this series and updated patch 1/3 (and 2/3 as it contains the
change from 1/3) to fix build warning on i386.  Can you please replace
patch 1/3 and 2/3 with the following version? 

https://lkml.org/lkml/2015/7/19/365  (Patch 1/3)
https://lkml.org/lkml/2015/7/19/366  (Patch 2/3)
https://lkml.org/lkml/2015/7/19/367  (Patch 3/3)

Thanks,
-Toshi


On Wed, 2015-07-22 at 08:25 -0700, tip-bot for Toshi Kani wrote:
> Commit-ID:  1c9cf9b211030a454a84cbc1cb15b82d9aa49011
> Gitweb:     
> http://git.kernel.org/tip/1c9cf9b211030a454a84cbc1cb15b82d9aa49011
> Author:     Toshi Kani <toshi.kani@hp.com>
> AuthorDate: Thu, 16 Jul 2015 17:23:14 -0600
> Committer:  Thomas Gleixner <tglx@linutronix.de>
> CommitDate: Wed, 22 Jul 2015 17:20:33 +0200
> 
> x86/mm: Move warning from __ioremap_check_ram() to the call site
> 
> __ioremap_check_ram() has a WARN_ONCE() which is emitted when the
> given pfn range is not RAM. The warning is bogus in two aspects:
> 
> - it never triggers since walk_system_ram_range() only calls
>   __ioremap_check_ram() for RAM ranges.
> 
> - the warning message is wrong as it says: "ioremap on RAM' after it
>   established that the pfn range is not RAM.
> 
> Move the WARN_ONCE() to __ioremap_caller(), and update the message to
> include the address range so we get an actual warning when something
> tries to ioremap system RAM.
> 
> [ tglx: Massaged changelog ]
> 
> Signed-off-by: Toshi Kani <toshi.kani@hp.com>
> Reviewed-by: Dan Williams <dan.j.williams@intel.com>
> Cc: Roland Dreier <roland@purestorage.com>
> Cc: Luis R. Rodriguez <mcgrof@suse.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: linux-mm@kvack.org
> Link: http://lkml.kernel.org/r/1437088996-28511-2-git-send-email
> -toshi.kani@hp.com
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
>  arch/x86/mm/ioremap.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
> index cc5ccc4..fd3df0d 100644
> --- a/arch/x86/mm/ioremap.c
> +++ b/arch/x86/mm/ioremap.c
> @@ -63,8 +63,6 @@ static int __ioremap_check_ram(unsigned long start_pfn, 
> unsigned long nr_pages,
>  		    !PageReserved(pfn_to_page(start_pfn + i)))
>  			return 1;
>  
> -	WARN_ONCE(1, "ioremap on RAM pfn 0x%lx\n", start_pfn);
> -
>  	return 0;
>  }
>  
> @@ -131,8 +129,11 @@ static void __iomem 
> *__ioremap_caller(resource_size_t phys_addr,
>  		pfn      = phys_addr >> PAGE_SHIFT;
>  		last_pfn = last_addr >> PAGE_SHIFT;
>  		if (walk_system_ram_range(pfn, last_pfn - pfn + 1, NULL,
> -					  __ioremap_check_ram) == 1)
> +					  __ioremap_check_ram) == 1) {
> +			WARN_ONCE(1, "ioremap on RAM at 0x%llx - 
> 0x%llx\n",
> +					phys_addr, last_addr);
>  			return NULL;
> +		}
>  	}
>  	/*
>  	 * Mappings have to be page-aligned
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1190101 — Re: [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site

FromThomas Gleixner <tglx@linutronix.de>
Date2015-07-22 18:50 +0200
SubjectRe: [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site
Message-ID<pP5ns-45X-5@gated-at.bofh.it>
In reply to#1190065
On Wed, 22 Jul 2015, Toshi Kani wrote:

> Thomas,
> 
> Dan took this series and updated patch 1/3 (and 2/3 as it contains the

Groan. Is this stuff subject to random patch collections?

> change from 1/3) to fix build warning on i386.  Can you please replace
> patch 1/3 and 2/3 with the following version? 
> 
> https://lkml.org/lkml/2015/7/19/365  (Patch 1/3)
> https://lkml.org/lkml/2015/7/19/366  (Patch 2/3)
> https://lkml.org/lkml/2015/7/19/367  (Patch 3/3)

That change in 1/3 should have only addressed the new stuff, the other
%pa changes are not related to this commit.

I'll update it. Sigh.

Thanks,

	tglx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1190109 — Re: [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site

FromToshi Kani <toshi.kani@hp.com>
Date2015-07-22 19:00 +0200
SubjectRe: [tip:x86/urgent] x86/mm: Move warning from __ioremap_check_ram() to the call site
Message-ID<pP5xa-4rv-9@gated-at.bofh.it>
In reply to#1190101
On Wed, 2015-07-22 at 18:44 +0200, Thomas Gleixner wrote:
> On Wed, 22 Jul 2015, Toshi Kani wrote:
> 
> > Thomas,
> > 
> > Dan took this series and updated patch 1/3 (and 2/3 as it contains the
> 
> Groan. Is this stuff subject to random patch collections?

No, but Dan needed this fix for his series.

Dan, please rebase your series to -tip once it becomes available.

> > change from 1/3) to fix build warning on i386.  Can you please replace
> > patch 1/3 and 2/3 with the following version? 
> > 
> > https://lkml.org/lkml/2015/7/19/365  (Patch 1/3)
> > https://lkml.org/lkml/2015/7/19/366  (Patch 2/3)
> > https://lkml.org/lkml/2015/7/19/367  (Patch 3/3)
> 
> That change in 1/3 should have only addressed the new stuff, the other
> %pa changes are not related to this commit.
> 
> I'll update it. Sigh.

My apology.  I should have notified it to you.

Thanks,
-Toshi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web