linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: dyoung@redhat.com (Dave Young)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv4 07/10] kexec: Switch to __pa_symbol
Date: Thu, 1 Dec 2016 12:27:03 +0800	[thread overview]
Message-ID: <20161201042703.GA13113@dhcp-128-65.nay.redhat.com> (raw)
In-Reply-To: <87polc7357.fsf@xmission.com>

On 11/30/16 at 09:13pm, Eric W. Biederman wrote:
> Dave Young <dyoung@redhat.com> writes:
> 
> > Hi, Laura
> > On 11/29/16 at 10:55am, Laura Abbott wrote:
> >> 
> >> __pa_symbol is the correct api to get the physical address of kernel
> >> symbols. Switch to it to allow for better debug checking.
> >> 
> >
> > I assume __pa_symbol is faster than __pa, but it still need some testing
> > on all arches which support kexec.
> >
> > But seems long long ago there is a commit e3ebadd95cb in the commit log
> > I see below from:
> > "we should deprecate __pa_symbol(), and preferably __pa() too - and
> >  just use "virt_to_phys()" instead, which is is more readable and has
> >  nicer semantics."
> >
> > But maybe in modern code __pa_symbol is prefered I may miss background.
> > virt_to_phys still sounds more readable now for me though.
> 
> There has been a lot of history with the various definitions.
> __pa_symbol used to be x86 specific.
> 
> Now what we have is that __pa_symbol is just __pa(RELOC_HIDE(x));
> 
> Now arguably that whole reloc hide thing should happen by architectures
> having a non-inline version of __pa as was done in the commit you
> mention.  But at this point there appears to be nothing wrong with
> changing a __pa to a __pa_symbol it might make things a tad more
> reliable depending on the implementation of __pa.

Then it is safe and reasonable, thanks for the clarification. 

> 
> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
> 
> 
> Eric
> 
> >> Signed-off-by: Laura Abbott <labbott@redhat.com>
> >> ---
> >> Found during review of the kernel. Untested.
> >> ---
> >>  kernel/kexec_core.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >> 
> >> diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
> >> index 5616755..e1b625e 100644
> >> --- a/kernel/kexec_core.c
> >> +++ b/kernel/kexec_core.c
> >> @@ -1397,7 +1397,7 @@ void __weak arch_crash_save_vmcoreinfo(void)
> >>  
> >>  phys_addr_t __weak paddr_vmcoreinfo_note(void)
> >>  {
> >> -	return __pa((unsigned long)(char *)&vmcoreinfo_note);
> >> +	return __pa_symbol((unsigned long)(char *)&vmcoreinfo_note);
> >>  }
> >>  
> >>  static int __init crash_save_vmcoreinfo_init(void)
> >> -- 
> >> 2.7.4
> >> 
> >> 
> >> _______________________________________________
> >> kexec mailing list
> >> kexec at lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/kexec
> >
> > Thanks
> > Dave

  reply	other threads:[~2016-12-01  4:27 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-29 18:55 [PATCHv4 00/10] CONFIG_DEBUG_VIRTUAL for arm64 Laura Abbott
2016-11-29 18:55 ` [PATCHv4 01/10] lib/Kconfig.debug: Add ARCH_HAS_DEBUG_VIRTUAL Laura Abbott
2016-11-29 18:55 ` [PATCHv4 02/10] mm/cma: Cleanup highmem check Laura Abbott
2016-11-29 18:55 ` [PATCHv4 03/10] arm64: Move some macros under #ifndef __ASSEMBLY__ Laura Abbott
2016-11-29 18:55 ` [PATCHv4 04/10] arm64: Add cast for virt_to_pfn Laura Abbott
2016-11-29 18:55 ` [PATCHv4 05/10] arm64: Use __pa_symbol for kernel symbols Laura Abbott
2016-11-30 17:17   ` Catalin Marinas
2016-12-01 12:04   ` James Morse
2016-12-06 16:08     ` Mark Rutland
2016-12-06  0:50   ` Florian Fainelli
2016-12-06 11:46     ` Catalin Marinas
2016-12-06 17:02   ` Mark Rutland
2016-12-06 19:12     ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 06/10] xen: Switch to using __pa_symbol Laura Abbott
2016-11-29 22:26   ` Boris Ostrovsky
2016-11-29 22:42     ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 07/10] kexec: Switch to __pa_symbol Laura Abbott
2016-12-01  2:41   ` Dave Young
2016-12-01  3:13     ` Eric W. Biederman
2016-12-01  4:27       ` Dave Young [this message]
2016-11-29 18:55 ` [PATCHv4 08/10] mm/kasan: Switch to using __pa_symbol and lm_alias Laura Abbott
2016-12-01 11:36   ` Andrey Ryabinin
2016-12-01 19:10     ` Laura Abbott
2016-12-06 17:25     ` Mark Rutland
2016-12-06 17:44   ` Mark Rutland
2016-12-06 19:18   ` Mark Rutland
2016-11-29 18:55 ` [PATCHv4 09/10] mm/usercopy: Switch to using lm_alias Laura Abbott
2016-11-29 19:39   ` Kees Cook
2016-12-06 18:18     ` Mark Rutland
2016-12-06 20:10       ` Kees Cook
2016-12-07 13:57         ` Mark Rutland
2016-12-06 18:20   ` Mark Rutland
2016-11-29 18:55 ` [PATCHv4 10/10] arm64: Add support for CONFIG_DEBUG_VIRTUAL Laura Abbott
2016-12-06 18:58   ` Mark Rutland
2016-12-06 19:53 ` [PATCH 0/3] ARM: " Florian Fainelli
2016-12-06 19:53   ` [PATCH 1/3] ARM: Define KERNEL_START and KERNEL_END Florian Fainelli
2016-12-06 22:43     ` Chris Brandt
2016-12-06 22:47       ` Florian Fainelli
2016-12-07  6:11     ` kbuild test robot
2016-12-06 19:53   ` [PATCH 2/3] ARM: Utilize __pa_symbol in lieu of __pa Florian Fainelli
2016-12-06 19:53   ` [PATCH 3/3] ARM: Add support for CONFIG_DEBUG_VIRTUAL Florian Fainelli
2016-12-06 20:42     ` Florian Fainelli
2016-12-07  2:00     ` Laura Abbott
2016-12-07  2:24       ` Florian Fainelli

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=20161201042703.GA13113@dhcp-128-65.nay.redhat.com \
    --to=dyoung@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).