Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1381796 > unrolled thread

[RFC PATCH 0/2] s390/klp: s390 support

Started byMiroslav Benes <mbenes@suse.cz>
First post2016-04-18 17:10 +0200
Last post2016-04-18 17:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [RFC PATCH 0/2] s390/klp: s390 support Miroslav Benes <mbenes@suse.cz> - 2016-04-18 17:10 +0200
    [RFC PATCH 1/2] s390: livepatch, reorganize TIF bits Miroslav Benes <mbenes@suse.cz> - 2016-04-18 17:10 +0200
    Re: [RFC PATCH 0/2] s390/klp: s390 support Josh Poimboeuf <jpoimboe@redhat.com> - 2016-04-18 17:20 +0200

#1381796 — [RFC PATCH 0/2] s390/klp: s390 support

FromMiroslav Benes <mbenes@suse.cz>
Date2016-04-18 17:10 +0200
Subject[RFC PATCH 0/2] s390/klp: s390 support
Message-ID<rpiYi-7Ft-9@gated-at.bofh.it>
So this is something we have in kGraft for a while (though the actual
implementation in s390's entry.S differs).

The first patch is needed because we want our TIF flag to be part of
_TIF_WORK and s390's tm instruction tests only 8-bits.

The second patch adds a call to klp_update_task_universe() to entry.S.
Specifically to syscall and interrupt return paths.

WARNING: It is only compile-tested. It even cannot be linked, because
klp_update_task_universe() is static inline. Josh, you're gonna change
this part anyway to remove TIF_KLP_NEED_UPDATE from arch-independent
code, aren't you? 

Comments are obviously welcome. s390 maintainters not CC'ed yet.

Jiri Slaby (1):
  s390: livepatch, reorganize TIF bits

Miroslav Benes (1):
  s390/klp: update task universe when exiting kernel

 arch/s390/include/asm/thread_info.h | 24 ++++++++++++++++--------
 arch/s390/kernel/entry.S            | 31 ++++++++++++++++++++++++++++++-
 2 files changed, 46 insertions(+), 9 deletions(-)

-- 
2.8.1

[toc] | [next] | [standalone]


#1381800 — [RFC PATCH 1/2] s390: livepatch, reorganize TIF bits

FromMiroslav Benes <mbenes@suse.cz>
Date2016-04-18 17:10 +0200
Subject[RFC PATCH 1/2] s390: livepatch, reorganize TIF bits
Message-ID<rpiYj-7Ft-29@gated-at.bofh.it>
In reply to#1381796
From: Jiri Slaby <jslaby@suse.cz>

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 arch/s390/include/asm/thread_info.h | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/arch/s390/include/asm/thread_info.h b/arch/s390/include/asm/thread_info.h
index 2fffc2c27581..8642c1dab382 100644
--- a/arch/s390/include/asm/thread_info.h
+++ b/arch/s390/include/asm/thread_info.h
@@ -70,14 +70,12 @@ void arch_release_task_struct(struct task_struct *tsk);
 /*
  * thread information flags bit numbers
  */
+/* _TIF_WORK bits */
 #define TIF_NOTIFY_RESUME	0	/* callback before returning to user */
 #define TIF_SIGPENDING		1	/* signal pending */
 #define TIF_NEED_RESCHED	2	/* rescheduling necessary */
-#define TIF_SYSCALL_TRACE	3	/* syscall trace active */
-#define TIF_SYSCALL_AUDIT	4	/* syscall auditing active */
-#define TIF_SECCOMP		5	/* secure computing */
-#define TIF_SYSCALL_TRACEPOINT	6	/* syscall tracepoint instrumentation */
-#define TIF_UPROBE		7	/* breakpointed or single-stepping */
+#define TIF_UPROBE		3	/* breakpointed or single-stepping */
+
 #define TIF_31BIT		16	/* 32bit process */
 #define TIF_MEMDIE		17	/* is terminating due to OOM killer */
 #define TIF_RESTORE_SIGMASK	18	/* restore signal mask in do_signal() */
@@ -85,15 +83,23 @@ void arch_release_task_struct(struct task_struct *tsk);
 #define TIF_BLOCK_STEP		20	/* This task is block stepped */
 #define TIF_UPROBE_SINGLESTEP	21	/* This task is uprobe single stepped */
 
+/* _TIF_TRACE bits */
+#define TIF_SYSCALL_TRACE	24	/* syscall trace active */
+#define TIF_SYSCALL_AUDIT	25	/* syscall auditing active */
+#define TIF_SECCOMP		26	/* secure computing */
+#define TIF_SYSCALL_TRACEPOINT	27	/* syscall tracepoint instrumentation */
+
 #define _TIF_NOTIFY_RESUME	_BITUL(TIF_NOTIFY_RESUME)
 #define _TIF_SIGPENDING		_BITUL(TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED	_BITUL(TIF_NEED_RESCHED)
+#define _TIF_UPROBE		_BITUL(TIF_UPROBE)
+
+#define _TIF_31BIT		_BITUL(TIF_31BIT)
+#define _TIF_SINGLE_STEP	_BITUL(TIF_SINGLE_STEP)
+
 #define _TIF_SYSCALL_TRACE	_BITUL(TIF_SYSCALL_TRACE)
 #define _TIF_SYSCALL_AUDIT	_BITUL(TIF_SYSCALL_AUDIT)
 #define _TIF_SECCOMP		_BITUL(TIF_SECCOMP)
 #define _TIF_SYSCALL_TRACEPOINT	_BITUL(TIF_SYSCALL_TRACEPOINT)
-#define _TIF_UPROBE		_BITUL(TIF_UPROBE)
-#define _TIF_31BIT		_BITUL(TIF_31BIT)
-#define _TIF_SINGLE_STEP	_BITUL(TIF_SINGLE_STEP)
 
 #endif /* _ASM_THREAD_INFO_H */
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1381804

FromJosh Poimboeuf <jpoimboe@redhat.com>
Date2016-04-18 17:20 +0200
Message-ID<rpj7X-7JL-9@gated-at.bofh.it>
In reply to#1381796
On Mon, Apr 18, 2016 at 05:01:08PM +0200, Miroslav Benes wrote:
> So this is something we have in kGraft for a while (though the actual
> implementation in s390's entry.S differs).
> 
> The first patch is needed because we want our TIF flag to be part of
> _TIF_WORK and s390's tm instruction tests only 8-bits.
> 
> The second patch adds a call to klp_update_task_universe() to entry.S.
> Specifically to syscall and interrupt return paths.
> 
> WARNING: It is only compile-tested. It even cannot be linked, because
> klp_update_task_universe() is static inline. Josh, you're gonna change
> this part anyway to remove TIF_KLP_NEED_UPDATE from arch-independent
> code, aren't you? 
> 
> Comments are obviously welcome. s390 maintainters not CC'ed yet.
> 
> Jiri Slaby (1):
>   s390: livepatch, reorganize TIF bits
> 
> Miroslav Benes (1):
>   s390/klp: update task universe when exiting kernel
> 
>  arch/s390/include/asm/thread_info.h | 24 ++++++++++++++++--------
>  arch/s390/kernel/entry.S            | 31 ++++++++++++++++++++++++++++++-
>  2 files changed, 46 insertions(+), 9 deletions(-)

Yeah, I think I will need to do something like change
klp_update_task_universe() to be non-inline.  Thanks a lot for the code!

-- 
Josh

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web