linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64/efi: Make strrchr() available to the EFI namespace
@ 2018-03-01 16:28 Rob Herring
  2018-03-01 17:08 ` Will Deacon
  2018-03-01 18:37 ` Catalin Marinas
  0 siblings, 2 replies; 5+ messages in thread
From: Rob Herring @ 2018-03-01 16:28 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: linux-arm-kernel, linux-kernel, Ard Biesheuvel

libfdt gained a new dependency on strrchr, so make it available to the
EFI namespace before we update libfdt.

Thanks to Ard for providing this fix.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
---
Please ack. This is a dependency on a dtc upstream sync.

 arch/arm64/kernel/image.h | 1 +
 arch/arm64/lib/strrchr.S  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h
index c7fcb232fe47..a820ed07fb80 100644
--- a/arch/arm64/kernel/image.h
+++ b/arch/arm64/kernel/image.h
@@ -103,6 +103,7 @@ __efistub_strlen		= KALLSYMS_HIDE(__pi_strlen);
 __efistub_strnlen		= KALLSYMS_HIDE(__pi_strnlen);
 __efistub_strcmp		= KALLSYMS_HIDE(__pi_strcmp);
 __efistub_strncmp		= KALLSYMS_HIDE(__pi_strncmp);
+__efistub_strrchr		= KALLSYMS_HIDE(__pi_strrchr);
 __efistub___flush_dcache_area	= KALLSYMS_HIDE(__pi___flush_dcache_area);
 
 #ifdef CONFIG_KASAN
diff --git a/arch/arm64/lib/strrchr.S b/arch/arm64/lib/strrchr.S
index 61eabd9a289a..f8e2784d5752 100644
--- a/arch/arm64/lib/strrchr.S
+++ b/arch/arm64/lib/strrchr.S
@@ -40,4 +40,4 @@ ENTRY(strrchr)
 	b	1b
 2:	mov	x0, x3
 	ret
-ENDPROC(strrchr)
+ENDPIPROC(strrchr)
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] arm64/efi: Make strrchr() available to the EFI namespace
  2018-03-01 16:28 [PATCH] arm64/efi: Make strrchr() available to the EFI namespace Rob Herring
@ 2018-03-01 17:08 ` Will Deacon
  2018-03-01 17:10   ` Ard Biesheuvel
  2018-03-01 18:37 ` Catalin Marinas
  1 sibling, 1 reply; 5+ messages in thread
From: Will Deacon @ 2018-03-01 17:08 UTC (permalink / raw)
  To: Rob Herring
  Cc: Catalin Marinas, linux-arm-kernel, linux-kernel, Ard Biesheuvel

On Thu, Mar 01, 2018 at 10:28:03AM -0600, Rob Herring wrote:
> libfdt gained a new dependency on strrchr, so make it available to the
> EFI namespace before we update libfdt.
> 
> Thanks to Ard for providing this fix.
> 
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> Please ack. This is a dependency on a dtc upstream sync.

Acked-by: Will Deacon <will.deacon@arm.com>

As an aside, I noticed that this __efistub prefixing is also being
applied to mapping symbols, so we get crazy stuff like __efistub_$x. I
didn't get round to working out whether that's going to be problematic,
but maybe it's all fine...

Will

> 
>  arch/arm64/kernel/image.h | 1 +
>  arch/arm64/lib/strrchr.S  | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h
> index c7fcb232fe47..a820ed07fb80 100644
> --- a/arch/arm64/kernel/image.h
> +++ b/arch/arm64/kernel/image.h
> @@ -103,6 +103,7 @@ __efistub_strlen		= KALLSYMS_HIDE(__pi_strlen);
>  __efistub_strnlen		= KALLSYMS_HIDE(__pi_strnlen);
>  __efistub_strcmp		= KALLSYMS_HIDE(__pi_strcmp);
>  __efistub_strncmp		= KALLSYMS_HIDE(__pi_strncmp);
> +__efistub_strrchr		= KALLSYMS_HIDE(__pi_strrchr);
>  __efistub___flush_dcache_area	= KALLSYMS_HIDE(__pi___flush_dcache_area);
>  
>  #ifdef CONFIG_KASAN
> diff --git a/arch/arm64/lib/strrchr.S b/arch/arm64/lib/strrchr.S
> index 61eabd9a289a..f8e2784d5752 100644
> --- a/arch/arm64/lib/strrchr.S
> +++ b/arch/arm64/lib/strrchr.S
> @@ -40,4 +40,4 @@ ENTRY(strrchr)
>  	b	1b
>  2:	mov	x0, x3
>  	ret
> -ENDPROC(strrchr)
> +ENDPIPROC(strrchr)
> -- 
> 2.14.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] arm64/efi: Make strrchr() available to the EFI namespace
  2018-03-01 17:08 ` Will Deacon
@ 2018-03-01 17:10   ` Ard Biesheuvel
  2018-03-01 17:13     ` Will Deacon
  0 siblings, 1 reply; 5+ messages in thread
From: Ard Biesheuvel @ 2018-03-01 17:10 UTC (permalink / raw)
  To: Will Deacon
  Cc: Rob Herring, Catalin Marinas, linux-arm-kernel,
	Linux Kernel Mailing List

On 1 March 2018 at 17:08, Will Deacon <will.deacon@arm.com> wrote:
> On Thu, Mar 01, 2018 at 10:28:03AM -0600, Rob Herring wrote:
>> libfdt gained a new dependency on strrchr, so make it available to the
>> EFI namespace before we update libfdt.
>>
>> Thanks to Ard for providing this fix.
>>
>> Cc: Catalin Marinas <catalin.marinas@arm.com>
>> Cc: Will Deacon <will.deacon@arm.com>
>> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Signed-off-by: Rob Herring <robh@kernel.org>
>> ---
>> Please ack. This is a dependency on a dtc upstream sync.
>
> Acked-by: Will Deacon <will.deacon@arm.com>
>
> As an aside, I noticed that this __efistub prefixing is also being
> applied to mapping symbols, so we get crazy stuff like __efistub_$x. I
> didn't get round to working out whether that's going to be problematic,
> but maybe it's all fine...
>

Ugh. Those mapping symbols.

We can filter them explicitly in scripts/kallsyms, I guess, or even
better, get rid of all __efistub_ symbols entirely (since they are
either aliases or part of __init code)


>>
>>  arch/arm64/kernel/image.h | 1 +
>>  arch/arm64/lib/strrchr.S  | 2 +-
>>  2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h
>> index c7fcb232fe47..a820ed07fb80 100644
>> --- a/arch/arm64/kernel/image.h
>> +++ b/arch/arm64/kernel/image.h
>> @@ -103,6 +103,7 @@ __efistub_strlen          = KALLSYMS_HIDE(__pi_strlen);
>>  __efistub_strnlen            = KALLSYMS_HIDE(__pi_strnlen);
>>  __efistub_strcmp             = KALLSYMS_HIDE(__pi_strcmp);
>>  __efistub_strncmp            = KALLSYMS_HIDE(__pi_strncmp);
>> +__efistub_strrchr            = KALLSYMS_HIDE(__pi_strrchr);
>>  __efistub___flush_dcache_area        = KALLSYMS_HIDE(__pi___flush_dcache_area);
>>
>>  #ifdef CONFIG_KASAN
>> diff --git a/arch/arm64/lib/strrchr.S b/arch/arm64/lib/strrchr.S
>> index 61eabd9a289a..f8e2784d5752 100644
>> --- a/arch/arm64/lib/strrchr.S
>> +++ b/arch/arm64/lib/strrchr.S
>> @@ -40,4 +40,4 @@ ENTRY(strrchr)
>>       b       1b
>>  2:   mov     x0, x3
>>       ret
>> -ENDPROC(strrchr)
>> +ENDPIPROC(strrchr)
>> --
>> 2.14.1
>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] arm64/efi: Make strrchr() available to the EFI namespace
  2018-03-01 17:10   ` Ard Biesheuvel
@ 2018-03-01 17:13     ` Will Deacon
  0 siblings, 0 replies; 5+ messages in thread
From: Will Deacon @ 2018-03-01 17:13 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Rob Herring, Catalin Marinas, linux-arm-kernel,
	Linux Kernel Mailing List

On Thu, Mar 01, 2018 at 05:10:38PM +0000, Ard Biesheuvel wrote:
> On 1 March 2018 at 17:08, Will Deacon <will.deacon@arm.com> wrote:
> > On Thu, Mar 01, 2018 at 10:28:03AM -0600, Rob Herring wrote:
> >> libfdt gained a new dependency on strrchr, so make it available to the
> >> EFI namespace before we update libfdt.
> >>
> >> Thanks to Ard for providing this fix.
> >>
> >> Cc: Catalin Marinas <catalin.marinas@arm.com>
> >> Cc: Will Deacon <will.deacon@arm.com>
> >> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> >> Signed-off-by: Rob Herring <robh@kernel.org>
> >> ---
> >> Please ack. This is a dependency on a dtc upstream sync.
> >
> > Acked-by: Will Deacon <will.deacon@arm.com>
> >
> > As an aside, I noticed that this __efistub prefixing is also being
> > applied to mapping symbols, so we get crazy stuff like __efistub_$x. I
> > didn't get round to working out whether that's going to be problematic,
> > but maybe it's all fine...
> >
> 
> Ugh. Those mapping symbols.
> 
> We can filter them explicitly in scripts/kallsyms, I guess, or even
> better, get rid of all __efistub_ symbols entirely (since they are
> either aliases or part of __init code)

Yeah, I started hooking into frob_arch_sections, but I didn't have my ELF
hat on so I set it aside for the time being. There were some other weird
symbols that ended up in modules, some of them with unprintable characters
due to gas generating weird local labels too (I think in BUG()).

Will

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] arm64/efi: Make strrchr() available to the EFI namespace
  2018-03-01 16:28 [PATCH] arm64/efi: Make strrchr() available to the EFI namespace Rob Herring
  2018-03-01 17:08 ` Will Deacon
@ 2018-03-01 18:37 ` Catalin Marinas
  1 sibling, 0 replies; 5+ messages in thread
From: Catalin Marinas @ 2018-03-01 18:37 UTC (permalink / raw)
  To: Rob Herring; +Cc: Will Deacon, linux-kernel, linux-arm-kernel, Ard Biesheuvel

On Thu, Mar 01, 2018 at 10:28:03AM -0600, Rob Herring wrote:
> libfdt gained a new dependency on strrchr, so make it available to the
> EFI namespace before we update libfdt.
> 
> Thanks to Ard for providing this fix.
> 
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> Please ack. This is a dependency on a dtc upstream sync.

So I assume you'll merge this patch via the DT tree and we don't need to
pick it up through the arm64 tree.

-- 
Catalin

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-03-01 18:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-01 16:28 [PATCH] arm64/efi: Make strrchr() available to the EFI namespace Rob Herring
2018-03-01 17:08 ` Will Deacon
2018-03-01 17:10   ` Ard Biesheuvel
2018-03-01 17:13     ` Will Deacon
2018-03-01 18:37 ` Catalin Marinas

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).