arch/um/kernel/process.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
This function is expected to return a boolean value, which should be
true on success and false on failure.
Fixes: d1254b12c93e ("uml: fix x86_64 core dump crash")
Signed-off-by: Tiwei Bie <tiwei.btw@antgroup.com>
---
arch/um/kernel/process.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c
index be2856af6d4c..3cc2b663aa78 100644
--- a/arch/um/kernel/process.c
+++ b/arch/um/kernel/process.c
@@ -291,7 +291,8 @@ unsigned long __get_wchan(struct task_struct *p)
int elf_core_copy_task_fpregs(struct task_struct *t, elf_fpregset_t *fpu)
{
int cpu = current_thread_info()->cpu;
+ int pid = userspace_pid[cpu];
- return save_i387_registers(userspace_pid[cpu], (unsigned long *) fpu);
+ return save_i387_registers(pid, (unsigned long *) fpu) == 0;
}
--
2.34.1
----- Ursprüngliche Mail -----
> Von: "Tiwei Bie" <tiwei.btw@antgroup.com>
> An: "richard" <richard@nod.at>, "anton ivanov" <anton.ivanov@cambridgegreys.com>, "Johannes Berg"
> <johannes@sipsolutions.net>
> CC: "linux-um" <linux-um@lists.infradead.org>, "linux-kernel" <linux-kernel@vger.kernel.org>, "Tiwei Bie"
> <tiwei.btw@antgroup.com>
> Gesendet: Mittwoch, 28. August 2024 15:51:40
> Betreff: [PATCH] um: Fix the return value of elf_core_copy_task_fpregs
> This function is expected to return a boolean value, which should be
> true on success and false on failure.
>
> Fixes: d1254b12c93e ("uml: fix x86_64 core dump crash")
> Signed-off-by: Tiwei Bie <tiwei.btw@antgroup.com>
> ---
> arch/um/kernel/process.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c
> index be2856af6d4c..3cc2b663aa78 100644
> --- a/arch/um/kernel/process.c
> +++ b/arch/um/kernel/process.c
> @@ -291,7 +291,8 @@ unsigned long __get_wchan(struct task_struct *p)
> int elf_core_copy_task_fpregs(struct task_struct *t, elf_fpregset_t *fpu)
> {
> int cpu = current_thread_info()->cpu;
> + int pid = userspace_pid[cpu];
>
> - return save_i387_registers(userspace_pid[cpu], (unsigned long *) fpu);
> + return save_i387_registers(pid, (unsigned long *) fpu) == 0;
Why a new local variable?
Thanks,
//richard
On 2024/9/13 02:51, Richard Weinberger wrote:
> ----- Ursprüngliche Mail -----
>> Von: "Tiwei Bie" <tiwei.btw@antgroup.com>
>> An: "richard" <richard@nod.at>, "anton ivanov" <anton.ivanov@cambridgegreys.com>, "Johannes Berg"
>> <johannes@sipsolutions.net>
>> CC: "linux-um" <linux-um@lists.infradead.org>, "linux-kernel" <linux-kernel@vger.kernel.org>, "Tiwei Bie"
>> <tiwei.btw@antgroup.com>
>> Gesendet: Mittwoch, 28. August 2024 15:51:40
>> Betreff: [PATCH] um: Fix the return value of elf_core_copy_task_fpregs
>
>> This function is expected to return a boolean value, which should be
>> true on success and false on failure.
>>
>> Fixes: d1254b12c93e ("uml: fix x86_64 core dump crash")
>> Signed-off-by: Tiwei Bie <tiwei.btw@antgroup.com>
>> ---
>> arch/um/kernel/process.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c
>> index be2856af6d4c..3cc2b663aa78 100644
>> --- a/arch/um/kernel/process.c
>> +++ b/arch/um/kernel/process.c
>> @@ -291,7 +291,8 @@ unsigned long __get_wchan(struct task_struct *p)
>> int elf_core_copy_task_fpregs(struct task_struct *t, elf_fpregset_t *fpu)
>> {
>> int cpu = current_thread_info()->cpu;
>> + int pid = userspace_pid[cpu];
>>
>> - return save_i387_registers(userspace_pid[cpu], (unsigned long *) fpu);
>> + return save_i387_registers(pid, (unsigned long *) fpu) == 0;
>
> Why a new local variable?
Thanks for the review! The new variable isn't necessary for the fix.
Will drop it to make the fix more straightforward.
Regards,
Tiwei
© 2016 - 2025 Red Hat, Inc.