LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 2/4] ELF: Remove elf_core_copy_kernel_regs()
       [not found] ` <20220325153953.162643-3-brgerst@gmail.com>
@ 2022-04-13 11:41   ` Borislav Petkov
  2022-04-13 12:31     ` Michael Ellerman
  0 siblings, 1 reply; 2+ messages in thread
From: Borislav Petkov @ 2022-04-13 11:41 UTC (permalink / raw)
  To: Brian Gerst, linuxppc-dev
  Cc: Peter Zijlstra, x86, linux-kernel, Andy Lutomirski,
	H . Peter Anvin, Thomas Gleixner

+ PPC ML as an FYI that this change will come through tip.

On Fri, Mar 25, 2022 at 11:39:51AM -0400, Brian Gerst wrote:
> x86-32 was the last architecture that implemented separate user and
> kernel registers.
> 
> Signed-off-by: Brian Gerst <brgerst@gmail.com>
> ---
>  arch/powerpc/kernel/fadump.c               | 2 +-
>  arch/powerpc/platforms/powernv/opal-core.c | 2 +-
>  include/linux/elfcore.h                    | 9 ---------
>  kernel/kexec_core.c                        | 2 +-
>  4 files changed, 3 insertions(+), 12 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
> index 4fdb7c77fda1..c0cf17196d6c 100644
> --- a/arch/powerpc/kernel/fadump.c
> +++ b/arch/powerpc/kernel/fadump.c
> @@ -752,7 +752,7 @@ u32 *__init fadump_regs_to_elf_notes(u32 *buf, struct pt_regs *regs)
>  	 * FIXME: How do i get PID? Do I really need it?
>  	 * prstatus.pr_pid = ????
>  	 */
> -	elf_core_copy_kernel_regs(&prstatus.pr_reg, regs);
> +	elf_core_copy_regs(&prstatus.pr_reg, regs);
>  	buf = append_elf_note(buf, CRASH_CORE_NOTE_NAME, NT_PRSTATUS,
>  			      &prstatus, sizeof(prstatus));
>  	return buf;
> diff --git a/arch/powerpc/platforms/powernv/opal-core.c b/arch/powerpc/platforms/powernv/opal-core.c
> index 0331f1973f0e..dd6e99edff76 100644
> --- a/arch/powerpc/platforms/powernv/opal-core.c
> +++ b/arch/powerpc/platforms/powernv/opal-core.c
> @@ -112,7 +112,7 @@ static void __init fill_prstatus(struct elf_prstatus *prstatus, int pir,
>  			  struct pt_regs *regs)
>  {
>  	memset(prstatus, 0, sizeof(struct elf_prstatus));
> -	elf_core_copy_kernel_regs(&(prstatus->pr_reg), regs);
> +	elf_core_copy_regs(&(prstatus->pr_reg), regs);
>  
>  	/*
>  	 * Overload PID with PIR value.
> diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h
> index f8e206e82476..346a8b56cdc8 100644
> --- a/include/linux/elfcore.h
> +++ b/include/linux/elfcore.h
> @@ -84,15 +84,6 @@ static inline void elf_core_copy_regs(elf_gregset_t *elfregs, struct pt_regs *re
>  #endif
>  }
>  
> -static inline void elf_core_copy_kernel_regs(elf_gregset_t *elfregs, struct pt_regs *regs)
> -{
> -#ifdef ELF_CORE_COPY_KERNEL_REGS
> -	ELF_CORE_COPY_KERNEL_REGS((*elfregs), regs);
> -#else
> -	elf_core_copy_regs(elfregs, regs);
> -#endif
> -}
> -
>  static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t* elfregs)
>  {
>  #if defined (ELF_CORE_COPY_TASK_REGS)
> diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
> index 68480f731192..be4b54c2c615 100644
> --- a/kernel/kexec_core.c
> +++ b/kernel/kexec_core.c
> @@ -1078,7 +1078,7 @@ void crash_save_cpu(struct pt_regs *regs, int cpu)
>  		return;
>  	memset(&prstatus, 0, sizeof(prstatus));
>  	prstatus.common.pr_pid = current->pid;
> -	elf_core_copy_kernel_regs(&prstatus.pr_reg, regs);
> +	elf_core_copy_regs(&prstatus.pr_reg, regs);
>  	buf = append_elf_note(buf, KEXEC_CORE_NOTE_NAME, NT_PRSTATUS,
>  			      &prstatus, sizeof(prstatus));
>  	final_note(buf);
> -- 
> 2.35.1
> 

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

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

* Re: [PATCH 2/4] ELF: Remove elf_core_copy_kernel_regs()
  2022-04-13 11:41   ` [PATCH 2/4] ELF: Remove elf_core_copy_kernel_regs() Borislav Petkov
@ 2022-04-13 12:31     ` Michael Ellerman
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Ellerman @ 2022-04-13 12:31 UTC (permalink / raw)
  To: Borislav Petkov, Brian Gerst, linuxppc-dev
  Cc: Peter Zijlstra, x86, linux-kernel, Andy Lutomirski,
	H . Peter Anvin, Thomas Gleixner

Borislav Petkov <bp@alien8.de> writes:
> + PPC ML as an FYI that this change will come through tip.

Ack.

cheers

> On Fri, Mar 25, 2022 at 11:39:51AM -0400, Brian Gerst wrote:
>> x86-32 was the last architecture that implemented separate user and
>> kernel registers.
>> 
>> Signed-off-by: Brian Gerst <brgerst@gmail.com>
>> ---
>>  arch/powerpc/kernel/fadump.c               | 2 +-
>>  arch/powerpc/platforms/powernv/opal-core.c | 2 +-
>>  include/linux/elfcore.h                    | 9 ---------
>>  kernel/kexec_core.c                        | 2 +-
>>  4 files changed, 3 insertions(+), 12 deletions(-)
>> 
>> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
>> index 4fdb7c77fda1..c0cf17196d6c 100644
>> --- a/arch/powerpc/kernel/fadump.c
>> +++ b/arch/powerpc/kernel/fadump.c
>> @@ -752,7 +752,7 @@ u32 *__init fadump_regs_to_elf_notes(u32 *buf, struct pt_regs *regs)
>>  	 * FIXME: How do i get PID? Do I really need it?
>>  	 * prstatus.pr_pid = ????
>>  	 */
>> -	elf_core_copy_kernel_regs(&prstatus.pr_reg, regs);
>> +	elf_core_copy_regs(&prstatus.pr_reg, regs);
>>  	buf = append_elf_note(buf, CRASH_CORE_NOTE_NAME, NT_PRSTATUS,
>>  			      &prstatus, sizeof(prstatus));
>>  	return buf;
>> diff --git a/arch/powerpc/platforms/powernv/opal-core.c b/arch/powerpc/platforms/powernv/opal-core.c
>> index 0331f1973f0e..dd6e99edff76 100644
>> --- a/arch/powerpc/platforms/powernv/opal-core.c
>> +++ b/arch/powerpc/platforms/powernv/opal-core.c
>> @@ -112,7 +112,7 @@ static void __init fill_prstatus(struct elf_prstatus *prstatus, int pir,
>>  			  struct pt_regs *regs)
>>  {
>>  	memset(prstatus, 0, sizeof(struct elf_prstatus));
>> -	elf_core_copy_kernel_regs(&(prstatus->pr_reg), regs);
>> +	elf_core_copy_regs(&(prstatus->pr_reg), regs);
>>  
>>  	/*
>>  	 * Overload PID with PIR value.
>> diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h
>> index f8e206e82476..346a8b56cdc8 100644
>> --- a/include/linux/elfcore.h
>> +++ b/include/linux/elfcore.h
>> @@ -84,15 +84,6 @@ static inline void elf_core_copy_regs(elf_gregset_t *elfregs, struct pt_regs *re
>>  #endif
>>  }
>>  
>> -static inline void elf_core_copy_kernel_regs(elf_gregset_t *elfregs, struct pt_regs *regs)
>> -{
>> -#ifdef ELF_CORE_COPY_KERNEL_REGS
>> -	ELF_CORE_COPY_KERNEL_REGS((*elfregs), regs);
>> -#else
>> -	elf_core_copy_regs(elfregs, regs);
>> -#endif
>> -}
>> -
>>  static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t* elfregs)
>>  {
>>  #if defined (ELF_CORE_COPY_TASK_REGS)
>> diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
>> index 68480f731192..be4b54c2c615 100644
>> --- a/kernel/kexec_core.c
>> +++ b/kernel/kexec_core.c
>> @@ -1078,7 +1078,7 @@ void crash_save_cpu(struct pt_regs *regs, int cpu)
>>  		return;
>>  	memset(&prstatus, 0, sizeof(prstatus));
>>  	prstatus.common.pr_pid = current->pid;
>> -	elf_core_copy_kernel_regs(&prstatus.pr_reg, regs);
>> +	elf_core_copy_regs(&prstatus.pr_reg, regs);
>>  	buf = append_elf_note(buf, KEXEC_CORE_NOTE_NAME, NT_PRSTATUS,
>>  			      &prstatus, sizeof(prstatus));
>>  	final_note(buf);
>> -- 
>> 2.35.1
>> 
>
> -- 
> Regards/Gruss,
>     Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette

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

end of thread, other threads:[~2022-04-13 12:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20220325153953.162643-1-brgerst@gmail.com>
     [not found] ` <20220325153953.162643-3-brgerst@gmail.com>
2022-04-13 11:41   ` [PATCH 2/4] ELF: Remove elf_core_copy_kernel_regs() Borislav Petkov
2022-04-13 12:31     ` Michael Ellerman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox