2019-02-27 21:18:57

by Joe Lawrence

[permalink] [raw]
Subject: [PATCH] x86/stacktrace: export save_stack_trace_tsk_reliable

The ppc64le implementation of save_stack_trace_tsk_reliable() is
exported, so do the same with x86.

Signed-off-by: Joe Lawrence <[email protected]>
---
arch/x86/kernel/stacktrace.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/kernel/stacktrace.c b/arch/x86/kernel/stacktrace.c
index 5c2d71a1dc06..ad9b38dabf6a 100644

We could do the inverse and remove the symbol export from
arch/powerpc/kernel/stacktrace.c, but I figured the other
save_stack_trace_tsk variants are already exported for both
arches, so add this one, too. -- JL

--- a/arch/x86/kernel/stacktrace.c
+++ b/arch/x86/kernel/stacktrace.c
@@ -163,6 +163,7 @@ int save_stack_trace_tsk_reliable(struct task_struct *tsk,

return ret;
}
+EXPORT_SYMBOL_GPL(save_stack_trace_tsk_reliable);
#endif /* CONFIG_HAVE_RELIABLE_STACKTRACE */

/* Userspace stacktrace - based on kernel/trace/trace_sysprof.c */
--
2.20.1



2019-02-27 21:32:42

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [PATCH] x86/stacktrace: export save_stack_trace_tsk_reliable

On Wed, 27 Feb 2019, Joe Lawrence wrote:

> The ppc64le implementation of save_stack_trace_tsk_reliable() is
> exported, so do the same with x86.

And what's the in tree module user of this? I can't find one and just
because PPC has an export with no user is not a convincing argument to add
another one. The proper solution is to remove the unused PPC export.

Thanks,

tglx





2019-02-27 22:26:00

by Joe Lawrence

[permalink] [raw]
Subject: Re: [PATCH] x86/stacktrace: export save_stack_trace_tsk_reliable

On 2/27/19 4:31 PM, Thomas Gleixner wrote:
> On Wed, 27 Feb 2019, Joe Lawrence wrote:
>
>> The ppc64le implementation of save_stack_trace_tsk_reliable() is
>> exported, so do the same with x86.
>
> And what's the in tree module user of this? I can't find one and just
> because PPC has an export with no user is not a convincing argument to add
> another one. The proper solution is to remove the unused PPC export.
>

Good point.

For that matter, I do see in-tree modules making use of
save_stack_trace, but who is calling save_stack_trace_tsk (exported by
most arches) and save_stack_trace_regs (exported by openrisc, powerpc,
s390)?

-- Joe

2019-02-27 23:21:35

by Joe Lawrence

[permalink] [raw]
Subject: Re: [PATCH] x86/stacktrace: export save_stack_trace_tsk_reliable

On 2/27/19 5:25 PM, Joe Lawrence wrote:
> On 2/27/19 4:31 PM, Thomas Gleixner wrote:
>> On Wed, 27 Feb 2019, Joe Lawrence wrote:
>>
>>> The ppc64le implementation of save_stack_trace_tsk_reliable() is
>>> exported, so do the same with x86.
>>
>> And what's the in tree module user of this? I can't find one and just
>> because PPC has an export with no user is not a convincing argument to add
>> another one. The proper solution is to remove the unused PPC export.
>>
>
> Good point.
>
> For that matter, I do see in-tree modules making use of
> save_stack_trace, but who is calling save_stack_trace_tsk (exported by
> most arches) and save_stack_trace_regs (exported by openrisc, powerpc,
> s390)?

Well, at least for save_stack_trace_tsk there is the out-of-tree kpatch
core module[1]. (Kpatch drops that call if the kernel provides
livepatch functionality.)

[1] https://github.com/dynup/kpatch/blob/master/kmod/core/core.c#L275

-- Joe