Home
last modified time | relevance | path

Searched +full:protect +full:- +full:exec (Results 1 – 25 of 46) sorted by relevance

12

/linux-5.10/drivers/misc/
Dsram-exec.c2 * SRAM protect-exec region helper functions
4 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
33 unsigned long base = (unsigned long)part->base; in sram_check_protect_exec()
34 unsigned long end = base + block->size; in sram_check_protect_exec()
37 dev_err(sram->dev, in sram_check_protect_exec()
38 "SRAM pool marked with 'protect-exec' is not page aligned and will not be created.\n"); in sram_check_protect_exec()
39 return -ENOMEM; in sram_check_protect_exec()
48 list_add_tail(&part->list, &exec_pool_list); in sram_add_protect_exec()
55 * sram_exec_copy - copy data to a protected executable region of sram
66 * of 'protect-exec' pools which are normal sram pools but are always set
[all …]
Dsram.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Generic on-chip SRAM allocation driver
19 #include <soc/at91/atmel-secumod.h>
33 mutex_lock(&part->lock); in sram_read()
34 memcpy_fromio(buf, part->base + pos, count); in sram_read()
35 mutex_unlock(&part->lock); in sram_read()
48 mutex_lock(&part->lock); in sram_write()
49 memcpy_toio(part->base + pos, buf, count); in sram_write()
50 mutex_unlock(&part->lock); in sram_write()
60 part->pool = devm_gen_pool_create(sram->dev, ilog2(SRAM_GRANULARITY), in sram_add_pool()
[all …]
/linux-5.10/Documentation/devicetree/bindings/arm/omap/
Dmpu.txt1 * TI - MPU (Main Processor Unit) subsystem
8 - compatible : Should be "ti,omap3-mpu" for OMAP3
9 Should be "ti,omap4-mpu" for OMAP4
10 Should be "ti,omap5-mpu" for OMAP5
11 - ti,hwmods: "mpu"
14 - sram: Phandle to the ocmcram node
17 - pm-sram: Phandles to ocmcram nodes to be used for power management.
18 First should be type 'protect-exec' for the driver to use to copy
25 - For an OMAP5 SMP system:
28 compatible = "ti,omap5-mpu";
[all …]
/linux-5.10/tools/testing/selftests/powerpc/mm/
Dpkey_siginfo.c1 // SPDX-License-Identifier: GPL-2.0
44 if (sinfo->si_code != SEGV_PKUERR) { in segv_handler()
50 if (sinfo->si_addr != (void *) fault_addr) { in segv_handler()
68 pgstart = (void *) ((unsigned long) fault_addr & ~(pgsize - 1)); in segv_handler()
72 * reassociate the page with the exec-only pkey since execute in segv_handler()
77 * read-write rights, change the AMR permission bits for the in segv_handler()
97 static void *protect(void *p) in protect() function
105 base = ((struct region *) p)->base; in protect()
106 size = ((struct region *) p)->size; in protect()
119 * Repeatedly try to protect the common region with a permissive in protect()
[all …]
/linux-5.10/Documentation/devicetree/bindings/memory-controllers/ti/
Demif.txt3 EMIF - External Memory Interface - is an SDRAM controller used in
11 - compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
14 "ti,emif-am3352"
15 "ti,emif-am4372"
16 "ti,emif-dra7xx"
17 "ti,emif-keystone"
19 - phy-type : <u32> indicating the DDR phy type. Following are the
24 - device-handle : phandle to a "lpddr2" node representing the memory part
26 - ti,hwmods : For TI hwmods processing and omap device creation
29 - interrupts : interrupt used by the controller
[all …]
/linux-5.10/Documentation/driver-api/
Ddma-buf.rst4 The dma-buf subsystem provides the framework for sharing buffers for
8 This is used, for example, by drm "prime" multi-GPU support, but is of
11 The three main components of this are: (1) dma-buf, representing a
18 ------------------
20 This document serves as a guide to device-driver writers on what is the dma-buf
27 exporter, and A as buffer-user/importer.
31 - implements and manages operations in :c:type:`struct dma_buf_ops
33 - allows other users to share the buffer by using dma_buf sharing APIs,
34 - manages the details of buffer allocation, wrapped in a :c:type:`struct
36 - decides about the actual backing storage where this allocation happens,
[all …]
/linux-5.10/fs/
Dexec.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * linux/fs/exec.c
9 * #!-checking implemented by tytso.
12 * Demand-loading implemented 01.12.91 - no need to read anything but
14 * "current->executable", and page faults do the actual loading. Clean.
17 * was less than 2 hours work to get demand-loading completely implemented.
20 * current->executable is only used by the procfs. This allows a dispatch
87 if (WARN_ON(!fmt->load_binary)) in __register_binfmt()
90 insert ? list_add(&fmt->lh, &formats) : in __register_binfmt()
91 list_add_tail(&fmt->lh, &formats); in __register_binfmt()
[all …]
/linux-5.10/Documentation/devicetree/bindings/sram/
Dsram.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic on-chip SRAM
10 - Rob Herring <robh@kernel.org>
19 Following the generic-names recommended practice, node names should
30 - mmio-sram
31 - atmel,sama5d2-securam
32 - rockchip,rk3288-pmu-sram
42 "#address-cells":
[all …]
/linux-5.10/include/linux/
Dfsnotify_backend.h1 /* SPDX-License-Identifier: GPL-2.0 */
41 #define FS_OPEN_EXEC 0x00001000 /* File was opened for exec */
49 #define FS_OPEN_EXEC_PERM 0x00040000 /* open/exec event in a permission hook */
67 * Directory entry modification events - reported only to directory
119 * handle_event - main call for a group to handle an fs event
124 * @dir: optional directory associated with event -
131 * handle_inode_event - simple variant of handle_event() for groups that only
136 * @dir: optional directory associated with event -
141 * free_group_priv - called when a group refcnt hits 0 to clean up the private union
142 * freeing_mark - called when a mark is being destroyed for some reason. The group
[all …]
Dperf_event.h4 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de>
5 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar
6 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra
12 * For licencing details see kernel-base/COPYING
21 * Kernel-internal data types and definitions:
98 * -1ULL means invalid/unknown.
108 * The hw_idx index is between -1 (unknown) and max depth,
128 int idx; /* index in shared_regs->regs[] */
132 * struct hw_perf_event - performance event hardware details:
154 /* for tp_event->class */
[all …]
/linux-5.10/Documentation/process/
Dmagic-number.rst11 It is a **very** good idea to protect kernel data structures with magic
14 routine. This last is especially useful --- particularly when you are
16 for example, does this frequently to pass driver-specific and line
17 discipline-specific structures back and forth.
95 USB_SERIAL_MAGIC 0x6702 usb_serial ``drivers/usb/serial/usb-serial.h``
99 USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port ``drivers/usb/serial/usb-serial.h``
112 WANPIPE_MAGIC 0x414C4453 sdla_{dump,exec} ``include/linux/wanpipe.h``
156 Note that there are also defined special per-driver magic numbers in sound
159 ID - these are not listed here as well.
161 HFS is another larger user of magic numbers - you can find them in
/linux-5.10/include/linux/sched/
Dmm.h1 /* SPDX-License-Identifier: GPL-2.0 */
18 * mmgrab() - Pin a &struct mm_struct.
31 * See also <Documentation/vm/active_mm.rst> for an in-depth explanation
36 atomic_inc(&mm->mm_count); in mmgrab()
46 * user-space, after storing to rq->curr. in mmdrop()
48 if (unlikely(atomic_dec_and_test(&mm->mm_count))) in mmdrop()
53 * mmget() - Pin the address space associated with a &struct mm_struct.
57 * go away. This does not protect against parts of the address space being
65 * See also <Documentation/vm/active_mm.rst> for an in-depth explanation
70 atomic_inc(&mm->mm_users); in mmget()
[all …]
Dsignal.h1 /* SPDX-License-Identifier: GPL-2.0 */
12 #include <linux/posix-timers.h>
17 * Types defining task->signal and task->sighand and APIs using them:
28 * Per-process accounting stats:
60 * struct thread_group_cputimer - thread group interval timer counts
90 /* current thread group signal load-balancing target: */
102 * - notify group_exit_task when ->count is equal to notify_count
103 * - everyone except group_exit_task is stopped during signal delivery
115 * manager, to re-parent orphan (double-forking) child processes
199 * getrlimit/setrlimit use task_lock(current->group_leader) to
[all …]
/linux-5.10/Documentation/filesystems/
Daffs.rst1 .. SPDX-License-Identifier: GPL-2.0
19 in file names are case-insensitive, as they ought to be.
44 protect
107 Amiga -> Linux:
111 - R maps to r for user, group and others. On directories, R implies x.
113 - W maps to w.
115 - E maps to x.
117 - D is ignored.
119 - H, S and P are always retained and ignored under Linux.
121 - A is cleared when a file is written to.
[all …]
Dpath-lookup.txt17 thus in every component during path look-up. Since 2.5.10 onwards, fast-walk
23 make dcache look-up lock-free.
30 are path-walk intensive tend to do path lookups starting from a common dentry
35 (including dcache look-up) completely "store-free" (so, no locks, atomics, or
36 even stores into cachelines of common dentries). This is known as "rcu-walk"
42 A name string specifies a start (root directory, cwd, fd-relative) and a
45 elements are sub-strings, separated by '/'.
49 the path given by the name's starting point (which we know in advance -- eg.
50 current->fs->cwd or current->fs->root) as the first parent of the lookup. Then
67 - find the start point of the walk;
[all …]
Dporting.rst5 ---
16 ---
20 New methods: ->alloc_inode() and ->destroy_inode().
22 Remove inode->u.foo_inode_i
27 /* fs-private stuff */
35 Use FOO_I(inode) instead of &inode->u.foo_inode_i;
37 Add foo_alloc_inode() and foo_destroy_inode() - the former should allocate
38 foo_inode_info and return the address of ->vfs_inode, the latter should free
39 FOO_I(inode) (see in-tree filesystems for examples).
41 Make them ->alloc_inode and ->destroy_inode in your super_operations.
[all …]
/linux-5.10/kernel/time/
Dposix-cpu-timers.c1 // SPDX-License-Identifier: GPL-2.0
8 #include <linux/posix-timers.h>
19 #include "posix-timers.h"
27 pct->bases[CPUCLOCK_PROF].nextevt = cpu_limit * NSEC_PER_SEC; in posix_cputimers_group_init()
28 pct->timers_active = true; in posix_cputimers_group_init()
34 * tsk->signal->posix_cputimers.bases[clock].nextevt expiration cache if
42 spin_lock_irq(&task->sighand->siglock); in update_rlimit_cpu()
44 spin_unlock_irq(&task->sighand->siglock); in update_rlimit_cpu()
95 ret = pid_for_clock(clock, false) ? 0 : -EINVAL; in validate_clock_permissions()
108 return pid_task(timer->it.cpu.pid, clock_pid_type(timer->it_clock)); in cpu_timer_task_rcu()
[all …]
/linux-5.10/include/linux/mtd/
Drawnand.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright © 2000-2010 David Woodhouse <dwmw2@infradead.org>
73 #define NAND_CMD_NONE -1
82 #define NAND_DATA_IFACE_CHECK_ONLY -1
96 * ecc.correct() returns -EBADMSG.
122 * Chip requires ready check on read (for auto-incremented sequential read).
140 #define NAND_HAS_SUBPAGE_READ(chip) ((chip->options & NAND_SUBPAGE_READ))
166 * This option could be defined by controller drivers to protect against
172 * In case your controller is implementing ->legacy.cmd_ctrl() and is relying
173 * on the default ->cmdfunc() implementation, you may want to let the core
[all …]
/linux-5.10/arch/arm/boot/dts/
Dam4372.dtsi4 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
11 #include <dt-bindings/bus/ti-sysc.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 #include <dt-bindings/clock/am4.h>
18 interrupt-parent = <&wakeupgen>;
19 #address-cells = <1>;
20 #size-cells = <1>;
44 #address-cells = <1>;
45 #size-cells = <0>;
[all …]
Dam33xx.dtsi4 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
11 #include <dt-bindings/bus/ti-sysc.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/pinctrl/am33xx.h>
14 #include <dt-bindings/clock/am3.h>
18 interrupt-parent = <&intc>;
19 #address-cells = <1>;
20 #size-cells = <1>;
33 d-can0 = &dcan0;
34 d-can1 = &dcan1;
[all …]
/linux-5.10/arch/arm64/kernel/
Dproton-pack.c1 // SPDX-License-Identifier: GPL-2.0-only
6 * https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability
20 #include <linux/arm-smccc.h>
53 * The kernel can't protect userspace for this one: it's each person for
67 * - Mitigated in hardware and advertised by ID_AA64PFR0_EL1.CSV2.
68 * - Mitigated in hardware and listed in our "safe list".
69 * - Mitigated in software by firmware.
70 * - Mitigated in software by a CPU-specific dance in the kernel and a
72 * - Vulnerable.
92 pr_info_once("spectre-v2 mitigation disabled by command line option\n"); in spectre_v2_mitigations_off()
[all …]
Dfpsimd.c1 // SPDX-License-Identifier: GPL-2.0-only
67 * we add the per-cpu variable 'fpsimd_last_state' (below), which contains the
87 * protect any manipulation of a task's fpsimd_state or TIF_FOREIGN_FPSTATE
92 * - the task gets scheduled in; if both the task's fpsimd_cpu field
93 * contains the id of the current CPU, and the CPU's fpsimd_last_state per-cpu
97 * - the task returns to userland; if TIF_FOREIGN_FPSTATE is set, the task's
103 * - the task executes an ordinary syscall; upon return to userland, the
107 * - the task executes a syscall which executes some NEON instructions; this is
109 * register contents to memory, clears the fpsimd_last_state per-cpu variable
112 * - the task gets preempted after kernel_neon_end() is called; as we have not
[all …]
/linux-5.10/arch/powerpc/mm/
Dslice.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * address space "slices" (meta-segments) support
39 (int)SLICE_NUM_LOW, &mask->low_slices); in slice_print_mask()
41 (int)SLICE_NUM_HIGH, mask->high_slices); in slice_print_mask()
63 unsigned long end = start + len - 1; in slice_range_to_mask()
65 ret->low_slices = 0; in slice_range_to_mask()
67 bitmap_zero(ret->high_slices, SLICE_NUM_HIGH); in slice_range_to_mask()
71 (unsigned long)(SLICE_LOW_TOP - 1)); in slice_range_to_mask()
73 ret->low_slices = (1u << (GET_LOW_SLICE_INDEX(mend) + 1)) in slice_range_to_mask()
74 - (1u << GET_LOW_SLICE_INDEX(start)); in slice_range_to_mask()
[all …]
/linux-5.10/tools/testing/selftests/vm/
Dprotection_keys.c1 // SPDX-License-Identifier: GPL-2.0
3 * Tests Memory Protection Keys (see Documentation/core-api/protection-keys.rst)
8 * * how to handle SEGV_PKUERR signals and extract pkey-relevant
14 * protect MPX bounds tables with protection keys?
16 * OOMs can destroy mm->mmap (see exit_mmap()), so make sure it is immune to pkeys
21 * gcc -o protection_keys -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl -lm
22 * gcc -m32 -o protection_keys_32 -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl -lm
48 #include "pkey-helpers.h"
111 cat_into_file("1", TRACEDIR "/options/funcgraph-proc"); in tracing_on()
147 * execute-only memory properly.
[all …]
/linux-5.10/arch/x86/kernel/
Dprocess_64.c1 // SPDX-License-Identifier: GPL-2.0-only
8 * X86-64 port
11 * CPU hotplug support - ashok.raj@intel.com
15 * This file handles the architecture-dependent parts of process handling..
75 if (regs->orig_ax != -1) in __show_regs()
76 pr_cont(" ORIG_RAX: %016lx\n", regs->orig_ax); in __show_regs()
81 log_lvl, regs->ax, regs->bx, regs->cx); in __show_regs()
83 log_lvl, regs->dx, regs->si, regs->di); in __show_regs()
85 log_lvl, regs->bp, regs->r8, regs->r9); in __show_regs()
87 log_lvl, regs->r10, regs->r11, regs->r12); in __show_regs()
[all …]

12