Home
last modified time | relevance | path

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

123

/linux-6.8/drivers/misc/
Dsram-exec.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * SRAM protect-exec region helper functions
5 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
25 unsigned long base = (unsigned long)part->base; in sram_check_protect_exec()
26 unsigned long end = base + block->size; in sram_check_protect_exec()
29 dev_err(sram->dev, in sram_check_protect_exec()
30 "SRAM pool marked with 'protect-exec' is not page aligned and will not be created.\n"); in sram_check_protect_exec()
31 return -ENOMEM; in sram_check_protect_exec()
40 list_add_tail(&part->list, &exec_pool_list); in sram_add_protect_exec()
47 * sram_exec_copy - copy data to a protected executable region of sram
[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-6.8/Documentation/gpu/
Ddrm-vm-bind-locking.rst1 .. SPDX-License-Identifier: (GPL-2.0+ OR MIT)
30 meta-data. Typically one per client (DRM file-private), or one per
33 associated meta-data. The backing storage of a gpu_vma can either be
34 a GEM object or anonymous or page-cache pages mapped also into the CPU
40 is anonymous or page-cache pages as described above.
43 page-table entries point to that backing store.
47 the :doc:`dma-buf doc </driver-api/dma-buf>`.
53 allows deadlock-safe locking of multiple dma_resvs in arbitrary
55 :doc:`dma-buf doc </driver-api/dma-buf>`.
56 * ``exec function``: An exec function is a function that revalidates all
[all …]
/linux-6.8/drivers/gpu/drm/
Ddrm_gpuvm.c1 // SPDX-License-Identifier: GPL-2.0-only OR MIT
47 * The GPU VA manager internally uses a rb-tree to manage the
62 * entries from within dma-fence signalling critical sections it is enough to
63 * pre-allocate the &drm_gpuva structures.
88 * lists are maintained in order to accelerate locking of dma-resv locks and
112 * implement Vulkan 'Sparse Memory Bindings' - drivers UAPIs often refer to this
150 * created such that those mappings are split up and re-mapped partically.
161 * dma-fence signalling critical path.
172 * by drm_gpuvm_sm_map() - it doesn't cover any arbitrary combinations of these.
180 * old: |-----------| (bo_offset=n)
[all …]
/linux-6.8/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-6.8/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-6.8/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-6.8/Documentation/arch/x86/
Dshstk.rst1 .. SPDX-License-Identifier: GPL-2.0
4 Control-flow Enforcement Technology (CET) Shadow Stack
10 Control-flow Enforcement Technology (CET) covers several related x86 processor
12 can protect both applications and the kernel.
20 control-protection fault. IBT verifies indirect CALL/JMP targets are intended
22 Stack and Indirect Branch Tracking. Today in the 64-bit kernel, only userspace
45 from readelf/llvm-readelf output::
47 readelf -n <application> | grep -a SHSTK
60 on a per-thread basis. The enablement status is inherited on clone, so if the
90 -EPERM if any of the passed feature are locked.
[all …]
/linux-6.8/include/drm/
Ddrm_gpuvm.h1 /* SPDX-License-Identifier: GPL-2.0-only OR MIT */
28 #include <linux/dma-resv.h>
42 * enum drm_gpuva_flags - flags for struct drm_gpuva
66 * struct drm_gpuva - structure to track a GPU VA mapping
126 * @rb: structure containing data to store &drm_gpuvas in a rb-tree
130 * @rb.node: the rb-tree node
138 * through the rb-tree while doing modifications on the rb-tree
144 * @rb.__subtree_last: needed by the interval tree, holding last-in-subtree
166 va->va.addr = addr; in drm_gpuva_init()
167 va->va.range = range; in drm_gpuva_init()
[all …]
/linux-6.8/drivers/gpu/drm/amd/amdgpu/
Damdgpu_gem.c32 #include <linux/dma-buf.h>
50 struct ttm_buffer_object *bo = vmf->vma->vm_private_data; in amdgpu_gem_fault()
51 struct drm_device *ddev = bo->base.dev; in amdgpu_gem_fault()
66 ret = ttm_bo_vm_fault_reserved(vmf, vmf->vma->vm_page_prot, in amdgpu_gem_fault()
71 ret = ttm_bo_vm_dummy_page(vmf, vmf->vma->vm_page_prot); in amdgpu_gem_fault()
73 if (ret == VM_FAULT_RETRY && !(vmf->flags & FAULT_FLAG_RETRY_NOWAIT)) in amdgpu_gem_fault()
77 dma_resv_unlock(bo->base.resv); in amdgpu_gem_fault()
126 bo = &ubo->bo; in amdgpu_gem_object_create()
127 *obj = &bo->tbo.base; in amdgpu_gem_object_create()
128 (*obj)->funcs = &amdgpu_gem_object_funcs; in amdgpu_gem_object_create()
[all …]
Damdgpu_amdkfd_gpuvm.c1 // SPDX-License-Identifier: MIT
3 * Copyright 2014-2018 Advanced Micro Devices, Inc.
23 #include <linux/dma-buf.h>
74 #define domain_string(domain) domain_bit_to_string[ffs(domain)-1]
83 list_for_each_entry(entry, &mem->attachments, list) in kfd_mem_is_attached()
84 if (entry->bo_va->base.vm == avm) in kfd_mem_is_attached()
91 * reuse_dmamap() - Check whether adev can share the original
105 return (adev->ram_is_direct_mapped && bo_adev->ram_is_direct_mapped) || in reuse_dmamap()
106 (adev->dev->iommu_group == bo_adev->dev->iommu_group); in reuse_dmamap()
110 * System (TTM + userptr) memory - 15/16th System RAM
[all …]
/linux-6.8/drivers/gpu/drm/xe/
Dxe_exec_queue.c1 // SPDX-License-Identifier: MIT
40 struct xe_gt *gt = hwe->gt; in __xe_exec_queue_create()
49 return ERR_PTR(-ENOMEM); in __xe_exec_queue_create()
51 kref_init(&q->refcount); in __xe_exec_queue_create()
52 q->flags = flags; in __xe_exec_queue_create()
53 q->hwe = hwe; in __xe_exec_queue_create()
54 q->gt = gt; in __xe_exec_queue_create()
56 q->vm = xe_vm_get(vm); in __xe_exec_queue_create()
57 q->class = hwe->class; in __xe_exec_queue_create()
58 q->width = width; in __xe_exec_queue_create()
[all …]
Dxe_device_types.h1 /* SPDX-License-Identifier: MIT */
3 * Copyright © 2022-2023 Intel Corporation
35 #define GRAPHICS_VER(xe) ((xe)->info.graphics_verx100 / 100)
36 #define MEDIA_VER(xe) ((xe)->info.media_verx100 / 100)
37 #define GRAPHICS_VERx100(xe) ((xe)->info.graphics_verx100)
38 #define MEDIA_VERx100(xe) ((xe)->info.media_verx100)
39 #define IS_DGFX(xe) ((xe)->info.is_dgfx)
40 #define HAS_HECI_GSCFI(xe) ((xe)->info.has_heci_gscfi)
51 ((_xe)->info.platform == (_platform) && \
52 (_xe)->info.step.graphics >= (min_step) && \
[all …]
/linux-6.8/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
90 insert ? list_add(&fmt->lh, &formats) : in __register_binfmt()
91 list_add_tail(&fmt->lh, &formats); in __register_binfmt()
100 list_del(&fmt->lh); in unregister_binfmt()
[all …]
/linux-6.8/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 - amlogic,meson-gxbb-sram
32 - arm,juno-sram-ns
33 - atmel,sama5d2-securam
[all …]
/linux-6.8/include/uapi/linux/
Dtaskstats.h1 /* SPDX-License-Identifier: LGPL-2.1 WITH Linux-syscall-note */
2 /* taskstats.h - exporting per-task statistics
22 /* Format for per-task data returned to userland when
23 * - a task exits
24 * - listener requests stats for a task
33 * c) add new fields after version comment; maintain 64-bit alignment
76 /* Following four fields atomically updated using task->delays->lock */
88 /* cpu "wall-clock" running time
127 /* Accumulated RSS usage in duration of a task, in MBytes-usecs.
133 __u64 coremem; /* accumulated RSS usage in MB-usec */
[all …]
/linux-6.8/Documentation/driver-api/
Ddma-buf.rst1 Buffer Sharing and Synchronization (dma-buf)
4 The dma-buf subsystem provides the framework for sharing buffers for
14 interact with the three main primitives offered by dma-buf:
16 - dma-buf, representing a sg_table and exposed to userspace as a file
19 - dma-fence, providing a mechanism to signal when an asynchronous
21 - dma-resv, which manages a set of dma-fences for a particular dma-buf
22 allowing implicit (kernel-ordered) synchronization of work to
27 --------------------------------
29 For more details on how to design your subsystem's API for dma-buf use, please
30 see Documentation/userspace-api/dma-buf-alloc-exchange.rst.
[all …]
/linux-6.8/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 …]
/linux-6.8/include/linux/
Dfsnotify_backend.h1 /* SPDX-License-Identifier: GPL-2.0 */
43 #define FS_OPEN_EXEC 0x00001000 /* File was opened for exec */
57 #define FS_OPEN_EXEC_PERM 0x00040000 /* open/exec event in a permission hook */
73 * Directory entry modification events - reported only to directory
125 * handle_event - main call for a group to handle an fs event
130 * @dir: optional directory associated with event -
137 * handle_inode_event - simple variant of handle_event() for groups that only
142 * @dir: optional directory associated with event -
145 * Either @inode or @dir must be non-NULL.
149 * free_group_priv - called when a group refcnt hits 0 to clean up the private union
[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:
39 #include <linux/rhashtable-types.h>
100 return frag->pad < sizeof(u64); in perf_raw_frag_last()
108 * -1ULL means invalid/unknown.
118 * The hw_idx index is between -1 (unknown) and max depth,
138 int idx; /* index in shared_regs->regs[] */
[all …]
/linux-6.8/include/linux/sched/
Dsignal.h1 /* SPDX-License-Identifier: GPL-2.0 */
13 #include <linux/posix-timers.h>
18 * Types defining task->signal and task->sighand and APIs using them:
29 * Per-process accounting stats:
61 * struct thread_group_cputimer - thread group interval timer counts
103 /* current thread group signal load-balancing target: */
126 * manager, to re-parent orphan (double-forking) child processes
210 * getrlimit/setrlimit use task_lock(current->group_leader) to
211 * protect this instead of the siglock, because they really
217 struct pacct_struct pacct; /* per-process accounting information */
[all …]
Dmm.h1 /* SPDX-License-Identifier: GPL-2.0 */
18 * mmgrab() - Pin a &struct mm_struct.
31 * See also <Documentation/mm/active_mm.rst> for an in-depth explanation
36 atomic_inc(&mm->mm_count); in mmgrab()
51 * user-space, after storing to rq->curr. in mmdrop()
53 if (unlikely(atomic_dec_and_test(&mm->mm_count))) in mmdrop()
76 if (atomic_dec_and_test(&mm->mm_count)) in mmdrop_sched()
77 call_rcu(&mm->delayed_drop, __mmdrop_delayed); in mmdrop_sched()
115 * mmget() - Pin the address space associated with a &struct mm_struct.
119 * go away. This does not protect against parts of the address space being
[all …]
/linux-6.8/drivers/net/ethernet/mellanox/mlx5/core/lib/
Dcrypto.c1 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
7 #define MLX5_CRYPTO_DEK_POOLS_NUM (MLX5_ACCEL_OBJ_TYPE_KEY_NUM - 1)
8 #define type2idx(type) ((type) - 1)
17 _a->num_deks - _a->avail_deks - _a->in_use_deks; })
24 _bulk->avail_deks == _bulk->num_deks; })
36 struct mutex lock; /* protect the following lists, and the bulks */
41 /* No in-used keys, and all need to be synced.
50 spinlock_t destroy_lock; /* protect destroy_list */
87 return dek->obj_id; in mlx5_crypto_dek_get_id()
105 return -EINVAL; in mlx5_crypto_dek_get_key_sz()
[all …]
/linux-6.8/arch/x86/kvm/mmu/
Dspte.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Kernel-based Virtual Machine driver for Linux
52 * KVM can actually enable MMIO caching depends on vendor-specific in kvm_mmu_spte_module_init()
73 u64 gen = kvm_vcpu_memslots(vcpu)->generation & MMIO_SPTE_GEN_MASK; in make_mmio_spte()
100 * and only treat UC/UC-/WC pages as MMIO. in kvm_is_mmio_pfn()
105 pfn_to_hpa(pfn + 1) - 1, in kvm_is_mmio_pfn()
111 * The caller is responsible for checking if the SPTE is shadow-present, and
112 * for determining whether or not the caller cares about non-leaf SPTEs.
118 * out of mmu-lock, it can ensure dirty bit is not lost, in spte_has_volatile_bits()
143 int level = sp->role.level; in make_spte()
[all …]

123