cregit-Linux how code gets into the kernel

Release 4.14 arch/x86/mm/setup_nx.c

Directory: arch/x86/mm
// SPDX-License-Identifier: GPL-2.0
#include <linux/spinlock.h>
#include <linux/errno.h>
#include <linux/init.h>

#include <asm/pgtable.h>
#include <asm/proto.h>
#include <asm/cpufeature.h>


static int disable_nx;

/*
 * noexec = on|off
 *
 * Control non-executable mappings for processes.
 *
 * on      Enable
 * off     Disable
 */

static int __init noexec_setup(char *str) { if (!str) return -EINVAL; if (!strncmp(str, "on", 2)) { disable_nx = 0; } else if (!strncmp(str, "off", 3)) { disable_nx = 1; } x86_configure_nx(); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Jeremy Fitzhardinge6095.24%150.00%
H. Peter Anvin34.76%150.00%
Total63100.00%2100.00%

early_param("noexec", noexec_setup);
void x86_configure_nx(void) { if (boot_cpu_has(X86_FEATURE_NX) && !disable_nx) __supported_pte_mask |= _PAGE_NX; else __supported_pte_mask &= ~_PAGE_NX; }

Contributors

PersonTokensPropCommitsCommitProp
Jeremy Fitzhardinge1555.56%133.33%
Andrew Lutomirski1140.74%133.33%
H. Peter Anvin13.70%133.33%
Total27100.00%3100.00%


void __init x86_report_nx(void) { if (!boot_cpu_has(X86_FEATURE_NX)) { printk(KERN_NOTICE "Notice: NX (Execute Disable) protection " "missing in CPU!\n"); } else { #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) if (disable_nx) { printk(KERN_INFO "NX (Execute Disable) protection: " "disabled by kernel command line option\n"); } else { printk(KERN_INFO "NX (Execute Disable) protection: " "active\n"); } #else /* 32bit non-PAE kernel, NX cannot be used */ printk(KERN_NOTICE "Notice: NX (Execute Disable) protection " "cannot be enabled: non-PAE kernel!\n"); #endif } }

Contributors

PersonTokensPropCommitsCommitProp
Kees Cook7094.59%266.67%
Borislav Petkov45.41%133.33%
Total74100.00%3100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Jeremy Fitzhardinge9950.77%112.50%
Kees Cook7035.90%225.00%
Andrew Lutomirski115.64%112.50%
Borislav Petkov73.59%225.00%
H. Peter Anvin73.59%112.50%
Greg Kroah-Hartman10.51%112.50%
Paul Gortmaker0.00%00.00%
Total195100.00%8100.00%
Directory: arch/x86/mm
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.