[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kernel-hardening
Subject:    Re: [kernel-hardening] patches for __write_rarely section
From:       Mark Rutland <mark.rutland () arm ! com>
Date:       2016-11-18 11:42:35
Message-ID: 20161118114234.GB1197 () leverpostej
[Download RAW message or body]

On Fri, Nov 18, 2016 at 11:10:59AM +0000, Mark Rutland wrote:
> With something like the below (assuming all helpers are inlined):
> 
> #define rare_write(__var, __val) ({				\
> 	typeof(var) *__rw_var;					\

... iwith s/var/__var/ here...

> 	__some_typecheck_perhaps(__var, __val);			\
> 								\
> 	__rw_var = __rare_rw_ptr(&(__var));			\
> 								\
> 	__rare_rw_map();					\
> 	*__rw_var = (__val);					\
> 	__rare_rw_unmap();					\
> 								\
> 	__clobber_var_so_gcc_knows(__var);			\
> })

... and with explicit clobber gone, since __rare_rw_unmap would
presumably have to have a memory clobber anyway, just like the fixmap
code.

Thanks,
Mark.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic