Thread (12 messages) 12 messages, 4 authors, 2017-05-30

Re: [RFC 0/2] Consolidate patch_instruction

From: Balbir Singh <bsingharora@gmail.com>
Date: 2017-05-17 01:23:56

On Tue, 2017-05-16 at 19:11 +0530, Naveen N. Rao wrote:
On 2017/05/16 10:56AM, Anshuman Khandual wrote:
quoted
On 05/16/2017 09:19 AM, Balbir Singh wrote:
quoted
patch_instruction is enhanced in this RFC to support
patching via a different virtual address (text_poke_area).
Why writing instruction directly into the address is not
sufficient and need to go through this virtual address ?
To enable KERNEL_STRICT_RWX and map all of kernel text to be read-only?
Precisely, the rest of the bits are still being developed.
 
quoted
quoted
The mapping of text_poke_area->addr is RW and not RWX.
This way the mapping allows write for patching and then we tear
down the mapping. The downside is that we introduce a spinlock
which serializes our patching to one patch at a time.
So whats the benifits we get otherwise in this approach when
we are adding a new lock into the equation.
Instruction patching isn't performance critical, so the slow down is 
likely not noticeable. Marking kernel text read-only helps harden the 
kernel by catching unintended code modifications whether through 
exploits or through bugs.
Precisely!

Balbir Singh. 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help