# Re: \[PATCH 11/39\] selinux: reject writable opens of policy file, drop mmap shared/write check

- From: Jann Horn \<jannh@google.com\>
- Date: 2026-09-08 20:22:59 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2026/09/17533611
- Thread: https://ratatoskr.run/linux-mm/2026/09/17533522/t.md

```text
On Tue, Sep 8, 2026 at 10:07 PM Lorenzo Stoakes (ARM) [ref] wrote:
> The policy file has no write method and is exposed read-only (S_IRUGO in
> selinux_files[]), yet sel_open_policy() performs no open mode check, so a
> CAP_DAC_OVERRIDE caller can open it O_RDWR. Reject FMODE_WRITE at open, as
> kernfs does.
>
> The file can then never be mapped with FMODE_WRITE, so do_mmap() always
> clears VM_MAYWRITE and VM_SHARED for MAP_SHARED mappings and the VM_SHARED
> check in sel_mmap_policy() cannot be reached. Remove it.

You should also be able to remove the sel_mmap_policy_ops.page_mkwrite
handler, which is only for shared-writable faults, right?

> This also stops sel_mmap_policy() clearing VM_MAYWRITE on a mapping that is
> neither a PFN map nor a mixed map, ahead of the core enforcing that only
> such mappings may do so.
>
> Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>

Reviewed-by: Jann Horn <jannh@google.com>

```
