linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] arm: kprobes: Prohibit kprobes on do_undefinstr
@ 2018-02-24  8:02 Masami Hiramatsu
  2018-02-24  8:03 ` [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions Masami Hiramatsu
  0 siblings, 1 reply; 5+ messages in thread
From: Masami Hiramatsu @ 2018-02-24  8:02 UTC (permalink / raw)
  To: Russell King
  Cc: Wang Nan, Will Deacon, Jon Medhurst, linux-arm-kernel,
	linux-kernel, mhiramat, David Long

Prohibit kprobes on do_undefinstr because kprobes on
arm is implemented by undefined instruction. This means
if we probe do_undefinstr(), it can cause infinit
recursive exception.

Fixes: 24ba613c9d6c ("ARM kprobes: core code")
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 arch/arm/kernel/traps.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 5e3633c24e63..2fe87109ae46 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -19,6 +19,7 @@
 #include <linux/uaccess.h>
 #include <linux/hardirq.h>
 #include <linux/kdebug.h>
+#include <linux/kprobes.h>
 #include <linux/module.h>
 #include <linux/kexec.h>
 #include <linux/bug.h>
@@ -417,7 +418,8 @@ void unregister_undef_hook(struct undef_hook *hook)
 	raw_spin_unlock_irqrestore(&undef_lock, flags);
 }
 
-static int call_undef_hook(struct pt_regs *regs, unsigned int instr)
+static nokprobe_inline
+int call_undef_hook(struct pt_regs *regs, unsigned int instr)
 {
 	struct undef_hook *hook;
 	unsigned long flags;
@@ -490,6 +492,7 @@ asmlinkage void do_undefinstr(struct pt_regs *regs)
 
 	arm_notify_die("Oops - undefined instruction", regs, &info, 0, 6);
 }
+NOKPROBE_SYMBOL(do_undefinstr)
 
 /*
  * Handle FIQ similarly to NMI on x86 systems.

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

* [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions
  2018-02-24  8:02 [PATCH 1/2] arm: kprobes: Prohibit kprobes on do_undefinstr Masami Hiramatsu
@ 2018-02-24  8:03 ` Masami Hiramatsu
  2018-02-25 10:09   ` kbuild test robot
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2018-02-24  8:03 UTC (permalink / raw)
  To: Russell King
  Cc: Wang Nan, Will Deacon, Jon Medhurst, linux-arm-kernel,
	linux-kernel, mhiramat, David Long

Since do_undefinstr() uses get_user to get the undefined
instruction, it can be called before kprobes processes
recursive check. This can cause an infinit recursive
exception.
Prohibit probing on get_user functions.

Fixes: 24ba613c9d6c ("ARM kprobes: core code")
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 arch/arm/include/asm/assembler.h |    8 ++++++++
 arch/arm/lib/getuser.S           |   10 ++++++++++
 2 files changed, 18 insertions(+)

diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h
index bc8d4bbd82e2..dd5e7f30eaed 100644
--- a/arch/arm/include/asm/assembler.h
+++ b/arch/arm/include/asm/assembler.h
@@ -536,4 +536,12 @@ THUMB(	orr	\reg , \reg , #PSR_T_BIT	)
 #endif
 	.endm
 
+#ifdef CONFIG_KPROBES
+# define _ASM_NOKPROBE(entry)				\
+	.pushsection "_kprobe_blacklist", "aw" ;	\
+	.balign 4 ;					\
+	.long entry;					\
+	.popsection
+#endif
+
 #endif /* __ASM_ASSEMBLER_H__ */
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S
index df73914e81c8..746e7801dcdf 100644
--- a/arch/arm/lib/getuser.S
+++ b/arch/arm/lib/getuser.S
@@ -38,6 +38,7 @@ ENTRY(__get_user_1)
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_1)
+_ASM_NOKPROBE(__get_user_1)
 
 ENTRY(__get_user_2)
 	check_uaccess r0, 2, r1, r2, __get_user_bad
@@ -58,6 +59,7 @@ rb	.req	r0
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_2)
+_ASM_NOKPROBE(__get_user_2)
 
 ENTRY(__get_user_4)
 	check_uaccess r0, 4, r1, r2, __get_user_bad
@@ -65,6 +67,7 @@ ENTRY(__get_user_4)
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_4)
+_ASM_NOKPROBE(__get_user_4)
 
 ENTRY(__get_user_8)
 	check_uaccess r0, 8, r1, r2, __get_user_bad8
@@ -78,6 +81,7 @@ ENTRY(__get_user_8)
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_8)
+_ASM_NOKPROBE(__get_user_8)
 
 #ifdef __ARMEB__
 ENTRY(__get_user_32t_8)
@@ -91,6 +95,7 @@ ENTRY(__get_user_32t_8)
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_32t_8)
+_ASM_NOKPROBE(__get_user_32t_8)
 
 ENTRY(__get_user_64t_1)
 	check_uaccess r0, 1, r1, r2, __get_user_bad8
@@ -98,6 +103,7 @@ ENTRY(__get_user_64t_1)
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_64t_1)
+_ASM_NOKPROBE(__get_user_64t_1)
 
 ENTRY(__get_user_64t_2)
 	check_uaccess r0, 2, r1, r2, __get_user_bad8
@@ -114,6 +120,7 @@ rb	.req	r0
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_64t_2)
+_ASM_NOKPROBE(__get_user_64t_2)
 
 ENTRY(__get_user_64t_4)
 	check_uaccess r0, 4, r1, r2, __get_user_bad8
@@ -121,6 +128,7 @@ ENTRY(__get_user_64t_4)
 	mov	r0, #0
 	ret	lr
 ENDPROC(__get_user_64t_4)
+_ASM_NOKPROBE(__get_user_64t_4)
 #endif
 
 __get_user_bad8:
@@ -131,6 +139,8 @@ __get_user_bad:
 	ret	lr
 ENDPROC(__get_user_bad)
 ENDPROC(__get_user_bad8)
+_ASM_NOKPROBE(__get_user_bad)
+_ASM_NOKPROBE(__get_user_bad8)
 
 .pushsection __ex_table, "a"
 	.long	1b, __get_user_bad

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

* Re: [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions
  2018-02-24  8:03 ` [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions Masami Hiramatsu
@ 2018-02-25 10:09   ` kbuild test robot
  2018-02-25 10:12   ` kbuild test robot
  2018-02-25 12:21   ` Masami Hiramatsu
  2 siblings, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2018-02-25 10:09 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: kbuild-all, Russell King, Wang Nan, Will Deacon, Jon Medhurst,
	linux-arm-kernel, linux-kernel, mhiramat, David Long

[-- Attachment #1: Type: text/plain, Size: 4724 bytes --]

Hi Masami,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc2 next-20180223]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/arm-kprobes-Prohibit-kprobes-on-do_undefinstr/20180225-151050
config: arm-ixp4xx_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   arch/arm/lib/getuser.S: Assembler messages:
   arch/arm/lib/getuser.S:41: Error: bad instruction `_asm_nokprobe(__get_user_1)'
   arch/arm/lib/getuser.S:62: Error: bad instruction `_asm_nokprobe(__get_user_2)'
   arch/arm/lib/getuser.S:70: Error: bad instruction `_asm_nokprobe(__get_user_4)'
   arch/arm/lib/getuser.S:84: Error: bad instruction `_asm_nokprobe(__get_user_8)'
>> arch/arm/lib/getuser.S:98: Error: bad instruction `_asm_nokprobe(__get_user_32t_8)'
>> arch/arm/lib/getuser.S:106: Error: bad instruction `_asm_nokprobe(__get_user_64t_1)'
>> arch/arm/lib/getuser.S:123: Error: bad instruction `_asm_nokprobe(__get_user_64t_2)'
>> arch/arm/lib/getuser.S:131: Error: bad instruction `_asm_nokprobe(__get_user_64t_4)'
   arch/arm/lib/getuser.S:142: Error: bad instruction `_asm_nokprobe(__get_user_bad)'
   arch/arm/lib/getuser.S:143: Error: bad instruction `_asm_nokprobe(__get_user_bad8)'

vim +98 arch/arm/lib/getuser.S

    34	
    35	ENTRY(__get_user_1)
    36		check_uaccess r0, 1, r1, r2, __get_user_bad
    37	1: TUSER(ldrb)	r2, [r0]
    38		mov	r0, #0
    39		ret	lr
    40	ENDPROC(__get_user_1)
  > 41	_ASM_NOKPROBE(__get_user_1)
    42	
    43	ENTRY(__get_user_2)
    44		check_uaccess r0, 2, r1, r2, __get_user_bad
    45	#ifdef CONFIG_CPU_USE_DOMAINS
    46	rb	.req	ip
    47	2:	ldrbt	r2, [r0], #1
    48	3:	ldrbt	rb, [r0], #0
    49	#else
    50	rb	.req	r0
    51	2:	ldrb	r2, [r0]
    52	3:	ldrb	rb, [r0, #1]
    53	#endif
    54	#ifndef __ARMEB__
    55		orr	r2, r2, rb, lsl #8
    56	#else
    57		orr	r2, rb, r2, lsl #8
    58	#endif
    59		mov	r0, #0
    60		ret	lr
    61	ENDPROC(__get_user_2)
    62	_ASM_NOKPROBE(__get_user_2)
    63	
    64	ENTRY(__get_user_4)
    65		check_uaccess r0, 4, r1, r2, __get_user_bad
    66	4: TUSER(ldr)	r2, [r0]
    67		mov	r0, #0
    68		ret	lr
    69	ENDPROC(__get_user_4)
    70	_ASM_NOKPROBE(__get_user_4)
    71	
    72	ENTRY(__get_user_8)
    73		check_uaccess r0, 8, r1, r2, __get_user_bad8
    74	#ifdef CONFIG_THUMB2_KERNEL
    75	5: TUSER(ldr)	r2, [r0]
    76	6: TUSER(ldr)	r3, [r0, #4]
    77	#else
    78	5: TUSER(ldr)	r2, [r0], #4
    79	6: TUSER(ldr)	r3, [r0]
    80	#endif
    81		mov	r0, #0
    82		ret	lr
    83	ENDPROC(__get_user_8)
    84	_ASM_NOKPROBE(__get_user_8)
    85	
    86	#ifdef __ARMEB__
    87	ENTRY(__get_user_32t_8)
    88		check_uaccess r0, 8, r1, r2, __get_user_bad
    89	#ifdef CONFIG_CPU_USE_DOMAINS
    90		add	r0, r0, #4
    91	7:	ldrt	r2, [r0]
    92	#else
    93	7:	ldr	r2, [r0, #4]
    94	#endif
    95		mov	r0, #0
    96		ret	lr
    97	ENDPROC(__get_user_32t_8)
  > 98	_ASM_NOKPROBE(__get_user_32t_8)
    99	
   100	ENTRY(__get_user_64t_1)
   101		check_uaccess r0, 1, r1, r2, __get_user_bad8
   102	8: TUSER(ldrb)	r3, [r0]
   103		mov	r0, #0
   104		ret	lr
   105	ENDPROC(__get_user_64t_1)
 > 106	_ASM_NOKPROBE(__get_user_64t_1)
   107	
   108	ENTRY(__get_user_64t_2)
   109		check_uaccess r0, 2, r1, r2, __get_user_bad8
   110	#ifdef CONFIG_CPU_USE_DOMAINS
   111	rb	.req	ip
   112	9:	ldrbt	r3, [r0], #1
   113	10:	ldrbt	rb, [r0], #0
   114	#else
   115	rb	.req	r0
   116	9:	ldrb	r3, [r0]
   117	10:	ldrb	rb, [r0, #1]
   118	#endif
   119		orr	r3, rb, r3, lsl #8
   120		mov	r0, #0
   121		ret	lr
   122	ENDPROC(__get_user_64t_2)
 > 123	_ASM_NOKPROBE(__get_user_64t_2)
   124	
   125	ENTRY(__get_user_64t_4)
   126		check_uaccess r0, 4, r1, r2, __get_user_bad8
   127	11: TUSER(ldr)	r3, [r0]
   128		mov	r0, #0
   129		ret	lr
   130	ENDPROC(__get_user_64t_4)
 > 131	_ASM_NOKPROBE(__get_user_64t_4)
   132	#endif
   133	
   134	__get_user_bad8:
   135		mov	r3, #0
   136	__get_user_bad:
   137		mov	r2, #0
   138		mov	r0, #-EFAULT
   139		ret	lr
   140	ENDPROC(__get_user_bad)
   141	ENDPROC(__get_user_bad8)
   142	_ASM_NOKPROBE(__get_user_bad)
   143	_ASM_NOKPROBE(__get_user_bad8)
   144	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 19581 bytes --]

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

* Re: [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions
  2018-02-24  8:03 ` [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions Masami Hiramatsu
  2018-02-25 10:09   ` kbuild test robot
@ 2018-02-25 10:12   ` kbuild test robot
  2018-02-25 12:21   ` Masami Hiramatsu
  2 siblings, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2018-02-25 10:12 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: kbuild-all, Russell King, Wang Nan, Will Deacon, Jon Medhurst,
	linux-arm-kernel, linux-kernel, mhiramat, David Long

[-- Attachment #1: Type: text/plain, Size: 4374 bytes --]

Hi Masami,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc2 next-20180223]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/arm-kprobes-Prohibit-kprobes-on-do_undefinstr/20180225-151050
config: arm-at91_dt_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   arch/arm/lib/getuser.S: Assembler messages:
>> arch/arm/lib/getuser.S:41: Error: bad instruction `_asm_nokprobe(__get_user_1)'
>> arch/arm/lib/getuser.S:62: Error: bad instruction `_asm_nokprobe(__get_user_2)'
>> arch/arm/lib/getuser.S:70: Error: bad instruction `_asm_nokprobe(__get_user_4)'
>> arch/arm/lib/getuser.S:84: Error: bad instruction `_asm_nokprobe(__get_user_8)'
>> arch/arm/lib/getuser.S:142: Error: bad instruction `_asm_nokprobe(__get_user_bad)'
>> arch/arm/lib/getuser.S:143: Error: bad instruction `_asm_nokprobe(__get_user_bad8)'

vim +41 arch/arm/lib/getuser.S

    34	
    35	ENTRY(__get_user_1)
    36		check_uaccess r0, 1, r1, r2, __get_user_bad
    37	1: TUSER(ldrb)	r2, [r0]
    38		mov	r0, #0
    39		ret	lr
    40	ENDPROC(__get_user_1)
  > 41	_ASM_NOKPROBE(__get_user_1)
    42	
    43	ENTRY(__get_user_2)
    44		check_uaccess r0, 2, r1, r2, __get_user_bad
    45	#ifdef CONFIG_CPU_USE_DOMAINS
    46	rb	.req	ip
    47	2:	ldrbt	r2, [r0], #1
    48	3:	ldrbt	rb, [r0], #0
    49	#else
    50	rb	.req	r0
    51	2:	ldrb	r2, [r0]
    52	3:	ldrb	rb, [r0, #1]
    53	#endif
    54	#ifndef __ARMEB__
    55		orr	r2, r2, rb, lsl #8
    56	#else
    57		orr	r2, rb, r2, lsl #8
    58	#endif
    59		mov	r0, #0
    60		ret	lr
    61	ENDPROC(__get_user_2)
  > 62	_ASM_NOKPROBE(__get_user_2)
    63	
    64	ENTRY(__get_user_4)
    65		check_uaccess r0, 4, r1, r2, __get_user_bad
    66	4: TUSER(ldr)	r2, [r0]
    67		mov	r0, #0
    68		ret	lr
    69	ENDPROC(__get_user_4)
  > 70	_ASM_NOKPROBE(__get_user_4)
    71	
    72	ENTRY(__get_user_8)
    73		check_uaccess r0, 8, r1, r2, __get_user_bad8
    74	#ifdef CONFIG_THUMB2_KERNEL
    75	5: TUSER(ldr)	r2, [r0]
    76	6: TUSER(ldr)	r3, [r0, #4]
    77	#else
    78	5: TUSER(ldr)	r2, [r0], #4
    79	6: TUSER(ldr)	r3, [r0]
    80	#endif
    81		mov	r0, #0
    82		ret	lr
    83	ENDPROC(__get_user_8)
  > 84	_ASM_NOKPROBE(__get_user_8)
    85	
    86	#ifdef __ARMEB__
    87	ENTRY(__get_user_32t_8)
    88		check_uaccess r0, 8, r1, r2, __get_user_bad
    89	#ifdef CONFIG_CPU_USE_DOMAINS
    90		add	r0, r0, #4
    91	7:	ldrt	r2, [r0]
    92	#else
    93	7:	ldr	r2, [r0, #4]
    94	#endif
    95		mov	r0, #0
    96		ret	lr
    97	ENDPROC(__get_user_32t_8)
    98	_ASM_NOKPROBE(__get_user_32t_8)
    99	
   100	ENTRY(__get_user_64t_1)
   101		check_uaccess r0, 1, r1, r2, __get_user_bad8
   102	8: TUSER(ldrb)	r3, [r0]
   103		mov	r0, #0
   104		ret	lr
   105	ENDPROC(__get_user_64t_1)
   106	_ASM_NOKPROBE(__get_user_64t_1)
   107	
   108	ENTRY(__get_user_64t_2)
   109		check_uaccess r0, 2, r1, r2, __get_user_bad8
   110	#ifdef CONFIG_CPU_USE_DOMAINS
   111	rb	.req	ip
   112	9:	ldrbt	r3, [r0], #1
   113	10:	ldrbt	rb, [r0], #0
   114	#else
   115	rb	.req	r0
   116	9:	ldrb	r3, [r0]
   117	10:	ldrb	rb, [r0, #1]
   118	#endif
   119		orr	r3, rb, r3, lsl #8
   120		mov	r0, #0
   121		ret	lr
   122	ENDPROC(__get_user_64t_2)
   123	_ASM_NOKPROBE(__get_user_64t_2)
   124	
   125	ENTRY(__get_user_64t_4)
   126		check_uaccess r0, 4, r1, r2, __get_user_bad8
   127	11: TUSER(ldr)	r3, [r0]
   128		mov	r0, #0
   129		ret	lr
   130	ENDPROC(__get_user_64t_4)
   131	_ASM_NOKPROBE(__get_user_64t_4)
   132	#endif
   133	
   134	__get_user_bad8:
   135		mov	r3, #0
   136	__get_user_bad:
   137		mov	r2, #0
   138		mov	r0, #-EFAULT
   139		ret	lr
   140	ENDPROC(__get_user_bad)
   141	ENDPROC(__get_user_bad8)
 > 142	_ASM_NOKPROBE(__get_user_bad)
 > 143	_ASM_NOKPROBE(__get_user_bad8)
   144	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 23754 bytes --]

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

* Re: [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions
  2018-02-24  8:03 ` [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions Masami Hiramatsu
  2018-02-25 10:09   ` kbuild test robot
  2018-02-25 10:12   ` kbuild test robot
@ 2018-02-25 12:21   ` Masami Hiramatsu
  2 siblings, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2018-02-25 12:21 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: Russell King, Wang Nan, Will Deacon, Jon Medhurst,
	linux-arm-kernel, linux-kernel, David Long

On Sat, 24 Feb 2018 17:03:19 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:

> Since do_undefinstr() uses get_user to get the undefined
> instruction, it can be called before kprobes processes
> recursive check. This can cause an infinit recursive
> exception.
> Prohibit probing on get_user functions.
> 
> Fixes: 24ba613c9d6c ("ARM kprobes: core code")
> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> ---
>  arch/arm/include/asm/assembler.h |    8 ++++++++
>  arch/arm/lib/getuser.S           |   10 ++++++++++
>  2 files changed, 18 insertions(+)
> 
> diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h
> index bc8d4bbd82e2..dd5e7f30eaed 100644
> --- a/arch/arm/include/asm/assembler.h
> +++ b/arch/arm/include/asm/assembler.h
> @@ -536,4 +536,12 @@ THUMB(	orr	\reg , \reg , #PSR_T_BIT	)
>  #endif
>  	.endm
>  
> +#ifdef CONFIG_KPROBES
> +# define _ASM_NOKPROBE(entry)				\
> +	.pushsection "_kprobe_blacklist", "aw" ;	\
> +	.balign 4 ;					\
> +	.long entry;					\
> +	.popsection

Oops, I missed #else block... which cause build error if !CONFIG_KPROBES.
I'll update it soon.

Thanks,

-- 
Masami Hiramatsu <mhiramat@kernel.org>

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

end of thread, other threads:[~2018-02-25 12:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-24  8:02 [PATCH 1/2] arm: kprobes: Prohibit kprobes on do_undefinstr Masami Hiramatsu
2018-02-24  8:03 ` [PATCH 2/2] arm: kprobes: Prohibit kprobes on get_user functions Masami Hiramatsu
2018-02-25 10:09   ` kbuild test robot
2018-02-25 10:12   ` kbuild test robot
2018-02-25 12:21   ` Masami Hiramatsu

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