| /kernel/linux/linux-6.6/drivers/misc/ |
| D | sram-exec.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/drivers/misc/ |
| D | sram-exec.c | 2 * 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 …]
|
| D | sram.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/arm/omap/ |
| D | mpu.txt | 1 * 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/omap/ |
| D | mpu.txt | 1 * 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 …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/powerpc/mm/ |
| D | pkey_siginfo.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/powerpc/mm/ |
| D | pkey_siginfo.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/memory-controllers/ti/ |
| D | emif.txt | 3 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/memory-controllers/ti/ |
| D | emif.txt | 3 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 …]
|
| /kernel/linux/linux-6.6/Documentation/arch/x86/ |
| D | shstk.rst | 1 .. 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 …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_gem.c | 32 #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 …]
|
| D | amdgpu_amdkfd_gpuvm.c | 1 // SPDX-License-Identifier: MIT 3 * Copyright 2014-2018 Advanced Micro Devices, Inc. 23 #include <linux/dma-buf.h> 72 #define domain_string(domain) domain_bit_to_string[ffs(domain)-1] 81 list_for_each_entry(entry, &mem->attachments, list) in kfd_mem_is_attached() 82 if (entry->bo_va->base.vm == avm) in kfd_mem_is_attached() 89 * reuse_dmamap() - Check whether adev can share the original 103 return (adev->ram_is_direct_mapped && bo_adev->ram_is_direct_mapped) || in reuse_dmamap() 104 (adev->dev->iommu_group == bo_adev->dev->iommu_group); in reuse_dmamap() 108 * System (TTM + userptr) memory - 15/16th System RAM [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/ |
| D | dma-buf.rst | 4 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 …]
|
| /kernel/linux/linux-5.10/fs/ |
| D | exec.c | 1 // 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 88 if (WARN_ON(!fmt->load_binary)) in __register_binfmt() 91 insert ? list_add(&fmt->lh, &formats) : in __register_binfmt() 92 list_add_tail(&fmt->lh, &formats); in __register_binfmt() [all …]
|
| /kernel/linux/linux-6.6/fs/ |
| D | exec.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sram/ |
| D | sram.yaml | 1 # 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 …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | fsnotify_backend.h | 1 /* 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 - 142 * free_group_priv - called when a group refcnt hits 0 to clean up the private union 143 * freeing_mark - called when a mark is being destroyed for some reason. The group [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/sram/ |
| D | sram.yaml | 1 # 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 …]
|
| /kernel/linux/linux-6.6/include/uapi/linux/ |
| D | taskstats.h | 1 /* 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 …]
|
| /kernel/linux/linux-5.10/Documentation/process/ |
| D | magic-number.rst | 11 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
|
| /kernel/linux/linux-6.6/Documentation/driver-api/ |
| D | dma-buf.rst | 1 Buffer Sharing and Synchronization (dma-buf) 4 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 [all …]
|
| /kernel/linux/linux-5.10/include/linux/sched/ |
| D | mm.h | 1 /* 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 …]
|
| /kernel/linux/linux-5.10/Documentation/filesystems/ |
| D | affs.rst | 1 .. 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 …]
|
| /kernel/linux/linux-6.6/Documentation/filesystems/ |
| D | affs.rst | 1 .. 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 …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | fsnotify_backend.h | 1 /* 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 …]
|