The latest development version of this page may be more current than this released 1.14.1 version.
CONFIG_EXECUTE_XOR_WRITE

Enable W^X for memory partitions

Type: bool

Help

When enabled, will enforce that a writable page isn’t executable and vice versa. This might not be acceptable in all scenarios, so this option is given for those unafraid of shooting themselves in the foot.

If unsure, say Y.

Direct dependencies

USERSPACE && ARCH_HAS_EXECUTABLE_PAGE_BIT

(Includes any dependencies from if’s and menus.)

Defaults

Kconfig definition

At kernel/Kconfig:644

Included via Kconfig:10Kconfig.zephyr:31

Menu path: (top menu) → General Kernel Options → Security Options

config EXECUTE_XOR_WRITE
    bool
    prompt "Enable W^X for memory partitions" if USERSPACE && ARCH_HAS_EXECUTABLE_PAGE_BIT
    default "y" if USERSPACE && ARCH_HAS_EXECUTABLE_PAGE_BIT
    depends on USERSPACE && ARCH_HAS_EXECUTABLE_PAGE_BIT
    help
      When enabled, will enforce that a writable page isn't executable
      and vice versa.  This might not be acceptable in all scenarios,
      so this option is given for those unafraid of shooting themselves
      in the foot.

      If unsure, say Y.

(Definitions include propagated dependencies, including from if’s and menus.)