Re: [PATCH v5 1/2] module: verify address is read-only

From: Jessica Yu
Date: Thu Apr 06 2017 - 21:58:34 EST


+++ Eddie Kovsky [05/04/17 21:35 -0600]:
Implement a mechanism to check if a module's address is in
the rodata or ro_after_init sections. It mimics the existing functions
that test if an address is inside a module's text section.

Functions that take a module as an argument will be able to verify that the
module address is in a read-only section. The idea is to prevent structures
(including modules) that are not read-only from being passed to functions.

This implements the first half of a suggestion made by Kees Cook for
the Kernel Self Protection Project:

- provide mechanism to check for ro_after_init memory areas, and
reject structures not marked ro_after_init in vmbus_register()

Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx>
Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx>

Acked-by: Jessica Yu <jeyu@xxxxxxxxxx>