/linux-6.8/Documentation/dev-tools/ |
D | kasan.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 -------- 11 designed to find out-of-bounds and use-after-free bugs. 16 2. Software Tag-Based KASAN 17 3. Hardware Tag-Based KASAN 23 Software Tag-Based KASAN or SW_TAGS KASAN, enabled with CONFIG_KASAN_SW_TAGS, 26 using it for testing on memory-restricted devices with real workloads. 28 Hardware Tag-Based KASAN or HW_TAGS KASAN, enabled with CONFIG_KASAN_HW_TAGS, 29 is the mode intended to be used as an in-field memory bug detector or as a 37 The Generic and the Software Tag-Based modes are commonly referred to as the [all …]
|
D | kfence.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Kernel Electric-Fence (KFENCE) 7 Kernel Electric-Fence (KFENCE) is a low-overhead sampling-based memory safety 8 error detector. KFENCE detects heap out-of-bounds access, use-after-free, and 9 invalid-free errors. 15 non-production test workloads. One way to quickly achieve a large enough total 19 ----- 26 ``kfence.sample_interval`` to non-zero value), configure the kernel with:: 46 causes CPU wake-ups when the system is completely idle. This may be undesirable 47 on power-constrained systems. The boot parameter ``kfence.deferrable=1`` [all …]
|
/linux-6.8/drivers/net/ethernet/chelsio/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 26 This driver supports Chelsio gigabit and 10-gigabit 34 For customer support, please visit our customer support page at 37 Please send feedback to <linux-bugs@chelsio.com>. 55 This driver supports Chelsio T3-based gigabit and 10Gb Ethernet 61 For customer support, please visit our customer support page at 64 Please send feedback to <linux-bugs@chelsio.com>. 77 This driver supports Chelsio T4, T5 & T6 based gigabit, 10Gb Ethernet 78 adapter and T5/T6 based 40Gb and T6 based 25Gb, 50Gb and 100Gb 84 For customer support, please visit our customer support page at [all …]
|
/linux-6.8/include/drm/ |
D | drm_vma_manager.h | 84 * drm_vma_offset_exact_lookup_locked() - Look up node by exact address 86 * @start: Start address (page-based, not byte-based) 87 * @pages: Size of object (page-based) 103 return (node && node->vm_node.start == start) ? node : NULL; in drm_vma_offset_exact_lookup_locked() 107 * drm_vma_offset_lock_lookup() - Lock lookup for extended private use 120 * Note: You're in atomic-context while holding this lock! 124 read_lock(&mgr->vm_lock); in drm_vma_offset_lock_lookup() 128 * drm_vma_offset_unlock_lookup() - Unlock lookup for extended private use 131 * Release lookup-lock. See drm_vma_offset_lock_lookup() for more information. 135 read_unlock(&mgr->vm_lock); in drm_vma_offset_unlock_lookup() [all …]
|
/linux-6.8/mm/kasan/ |
D | hw_tags.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * This file contains core hardware tag-based KASAN code. 89 return -EINVAL; in early_kasan_flag() 96 return -EINVAL; in early_kasan_flag() 106 return -EINVAL; in early_kasan_mode() 115 return -EINVAL; in early_kasan_mode() 125 return -EINVAL; in early_kasan_flag_vmalloc() 135 return -EINVAL; in early_kasan_flag_vmalloc() 157 return -EINVAL; in early_kasan_flag_page_alloc_sample() 165 return -EINVAL; in early_kasan_flag_page_alloc_sample() [all …]
|
D | kasan_test.c | 1 // SPDX-License-Identifier: GPL-2.0-only 30 #include <asm/page.h> 38 /* Fields set based on lines observed in the console. */ 64 return -1; in kasan_suite_init() 71 * Temporarily enable multi-shot mode. Otherwise, KASAN would only in kasan_suite_init() 95 * KUNIT_EXPECT_KASAN_FAIL - check that the executed expression produces a 101 * For hardware tag-based KASAN, when a synchronous tag fault happens, tag 102 * checking is auto-disabled. When this happens, this test handler reenables 164 size_t size = 128 - KASAN_GRANULE_SIZE - 5; in kmalloc_oob_right() 178 * An aligned access into the first out-of-bounds granule that falls in kmalloc_oob_right() [all …]
|
/linux-6.8/Documentation/mm/ |
D | multigen_lru.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Multi-Gen LRU 6 The multi-gen LRU is an alternative LRU implementation that optimizes 7 page reclaim and improves performance under memory pressure. Page 14 ---------- 20 * Simple self-correcting heuristics 23 implementations. In the multi-gen LRU, each generation represents a 25 (time-based) common frame of reference and therefore help make better 30 accessed bit. A rmap walk targets a single page and does not try to 31 profit from discovering a young PTE. A page table walk can sweep all [all …]
|
/linux-6.8/Documentation/virt/hyperv/ |
D | clocks.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 ----- 8 On arm64, Hyper-V virtualizes the ARMv8 architectural system counter 12 architectural system counter is functional in guest VMs on Hyper-V. 13 While Hyper-V also provides a synthetic system clock and four synthetic 14 per-CPU timers as described in the TLFS, they are not used by the 15 Linux kernel in a Hyper-V guest on arm64. However, older versions 16 of Hyper-V for arm64 only partially virtualize the ARMv8 19 Linux kernel versions on these older Hyper-V versions requires an 20 out-of-tree patch to use the Hyper-V synthetic clocks/timers instead. [all …]
|
/linux-6.8/include/linux/ |
D | kasan.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 #include <linux/kasan-enabled.h> 7 #include <linux/kasan-tags.h> 13 struct page; 109 void __kasan_poison_pages(struct page *page, unsigned int order, bool init); 110 static __always_inline void kasan_poison_pages(struct page *page, in kasan_poison_pages() argument 114 __kasan_poison_pages(page, order, init); in kasan_poison_pages() 117 bool __kasan_unpoison_pages(struct page *page, unsigned int order, bool init); 118 static __always_inline bool kasan_unpoison_pages(struct page *page, in kasan_unpoison_pages() argument 122 return __kasan_unpoison_pages(page, order, init); in kasan_unpoison_pages() [all …]
|
D | bvec.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 struct page; 20 * struct bio_vec - a contiguous range of physical memory addresses 21 * @bv_page: First page associated with the address range. 32 struct page *bv_page; 38 * bvec_set_page - initialize a bvec based off a struct page 40 * @page: page the bvec should point to 42 * @offset: offset into the page 44 static inline void bvec_set_page(struct bio_vec *bv, struct page *page, in bvec_set_page() argument 47 bv->bv_page = page; in bvec_set_page() [all …]
|
/linux-6.8/include/xen/arm/ |
D | page.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 #include <asm/page.h> 9 #include <linux/dma-mapping.h> 22 /* Xen pseudo-physical address */ 33 * The pseudo-physical frame (pfn) used in all the helpers is always based 34 * on Xen page granularity (i.e 4KB). 36 * A Linux page may be split across multiple non-contiguous Xen page so we 37 * have to keep track with frame based on 4KB page granularity. 46 /* Pseudo-physical <-> Guest conversion */ 57 /* Pseudo-physical <-> BUS conversion */ [all …]
|
/linux-6.8/Documentation/mm/damon/ |
D | design.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 The monitoring-related information including the monitoring request 14 specification and DAMON-based operation schemes are stored in a data structure 25 - Operations Set: Implements fundamental operations for DAMON that depends on 26 the given monitoring target address-space and available set of 28 - Core: Implements core logics including monitoring overhead/accurach control 29 and access-aware system operations on top of the operations set layer, and 30 - Modules: Implements kernel modules for various purposes that provides 35 --------------------------- 57 -------------------- [all …]
|
/linux-6.8/drivers/gpu/drm/amd/amdkfd/ |
D | Kconfig | 1 # SPDX-License-Identifier: MIT 16 bool "Enable HMM-based shared virtual memory manager" 23 memory manager supports two modes of operation. One based on 24 preemptions and one based on page faults. To enable page fault 25 based memory management on most GFXv9 GPUs, set the module 29 bool "HSA kernel driver support for peer-to-peer for AMD GPU devices" 32 Enable peer-to-peer (P2P) communication between AMD GPUs over 33 the PCIe bus. This can improve performance of multi-GPU compute
|
/linux-6.8/Documentation/driver-api/ |
D | mtdnand.rst | 10 The generic NAND driver supports almost all NAND and AG-AND based chips 31 -------------------------- 37 - [MTD Interface] 43 - [NAND Interface] 48 - [GENERIC] 53 - [DEFAULT] 65 ------------------------------- 71 - [INTERN] 77 - [REPLACEABLE] 86 - [BOARDSPECIFIC] [all …]
|
/linux-6.8/mm/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 33 compress them into a dynamically allocated RAM-based memory pool. 55 If exclusive loads are enabled, when a page is loaded from zswap, 59 This avoids having two copies of the same page in memory 60 (compressed and uncompressed) after faulting in a page from zswap. 61 The cost is that if the page was never dirtied and needs to be 62 swapped out again, it will be re-compressed. 88 available at the following LWN page: 192 page. While this design limits storage density, it has simple and 202 page. It is a ZBUD derivative so the simplicity and determinism are [all …]
|
D | gup_test.c | 10 static void put_back_pages(unsigned int cmd, struct page **pages, in put_back_pages() 39 static void verify_dma_pinned(unsigned int cmd, struct page **pages, in verify_dma_pinned() 53 "pages[%lu] is NOT dma-pinned\n", i)) { in verify_dma_pinned() 55 dump_page(&folio->page, "gup_test failure"); in verify_dma_pinned() 61 dump_page(&folio->page, "gup_test failure"); in verify_dma_pinned() 69 static void dump_pages_test(struct gup_test *gup, struct page **pages, in dump_pages_test() 76 * Zero out any user-supplied page index that is out of range. Remember: in dump_pages_test() 77 * .which_pages[] contains a 1-based set of page indices. in dump_pages_test() 80 if (gup->which_pages[i] > nr_pages) { in dump_pages_test() 82 i, gup->which_pages[i]); in dump_pages_test() [all …]
|
/linux-6.8/Documentation/admin-guide/mm/ |
D | numa_memory_policy.rst | 10 supported platforms with Non-Uniform Memory Access architectures since 2.4.?. 16 (``Documentation/admin-guide/cgroup-v1/cpusets.rst``) 19 programming interface that a NUMA-aware application can take advantage of. When 28 ------------------------ 35 that governs all page allocations that aren't controlled by 41 not to overload the initial boot node with boot-time 45 this is an optional, per-task policy. When defined for a 46 specific task, this policy controls all page allocations made 49 all page allocations that would have been controlled by the 61 In a multi-threaded task, task policies apply only to the thread [all …]
|
/linux-6.8/arch/arm64/include/asm/ |
D | memory.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Based on arch/arm/include/asm/memory.h 5 * Copyright (C) 2000-2002 Russell King 8 * Note: this file should not be included by non-asm/.h files 15 #include <asm/page-def.h> 24 * VMEMMAP_SIZE - allows the whole linear region to be covered by 25 * a struct page array 27 * If we are configured with a 52-bit kernel VA then our VMEMMAP_SIZE 28 * needs to cover the memory region from the beginning of the 52-bit 29 * PAGE_OFFSET all the way to PAGE_END for 48-bit. This allows us to [all …]
|
D | page.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Based on arch/arm/include/asm/page.h 5 * Copyright (C) 1995-2003 Russell King 11 #include <asm/page-def.h> 17 #include <asm/pgtable-types.h> 19 struct page; 25 void copy_user_highpage(struct page *to, struct page *from, 29 void copy_highpage(struct page *to, struct page *from); 36 void tag_clear_highpage(struct page *to); 39 #define clear_user_page(page, vaddr, pg) clear_page(page) argument [all …]
|
/linux-6.8/drivers/net/can/ctucanfd/ |
D | Kconfig | 2 tristate "CTU CAN-FD IP core" if COMPILE_TEST 4 This driver adds support for the CTU CAN FD open-source IP core. 5 More documentation and core sources at project page 8 is available (https://gitlab.fel.cvut.cz/canbus/zynq/zynq-can-sja1000-top). 9 Implementation on Intel FPGA-based PCI Express board is available 10 from project (https://gitlab.fel.cvut.cz/canbus/pcie-ctucanfd) and 11 on Intel SoC from project (https://gitlab.fel.cvut.cz/canbus/intel-soc-ctucanfd). 12 Guidepost CTU FEE CAN bus projects page https://canbus.pages.fel.cvut.cz/ . 15 tristate "CTU CAN-FD IP core PCI/PCIe driver" 19 This driver adds PCI/PCIe support for CTU CAN-FD IP core. [all …]
|
/linux-6.8/block/ |
D | blk-sysfs.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/backing-dev.h> 15 #include "blk-mq.h" 16 #include "blk-mq-debugfs.h" 17 #include "blk-mq-sched.h" 18 #include "blk-rq-qos.h" 19 #include "blk-wbt.h" 20 #include "blk-cgroup.h" 21 #include "blk-throttle.h" 30 queue_var_show(unsigned long var, char *page) in queue_var_show() argument [all …]
|
/linux-6.8/drivers/clocksource/ |
D | hyperv_timer.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * provided by the Hyper-V hypervisor to guest VMs, as described 6 * in the Hyper-V Top Level Functional Spec (TLFS). This driver 26 #include <asm/hyperv-tlfs.h> 35 * mechanism is used when running on older versions of Hyper-V 36 * that don't support Direct Mode. While Hyper-V provides 43 * However, for legacy versions of Hyper-V when Direct Mode 50 static int stimer0_irq = -1; 63 ce->event_handler(ce); in hv_stimer0_isr() 69 * per-cpu interrupts, which also implies Direct Mode. [all …]
|
/linux-6.8/arch/x86/boot/compressed/ |
D | pgtable_64.c | 1 // SPDX-License-Identifier: GPL-2.0 42 * This code is based on reserve_bios_regions(). in find_trampoline_placement() 49 * Only look for values in the legacy ROM for non-EFI system. in find_trampoline_placement() 51 signature = (char *)&boot_params_ptr->efi_info.efi_loader_signature; in find_trampoline_placement() 67 for (i = boot_params_ptr->e820_entries - 1; i >= 0; i--) { in find_trampoline_placement() 70 entry = &boot_params_ptr->e820_table[i]; in find_trampoline_placement() 73 if (bios_start <= entry->addr) in find_trampoline_placement() 76 /* Skip non-RAM entries. */ in find_trampoline_placement() 77 if (entry->type != E820_TYPE_RAM) in find_trampoline_placement() 81 if (bios_start > entry->addr + entry->size) in find_trampoline_placement() [all …]
|
/linux-6.8/drivers/gpu/drm/ |
D | drm_vma_manager.c | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 3 * Copyright (c) 2006-2009 VMware, Inc., Palo Alto, CA., USA 39 * The vma-manager is responsible to map arbitrary driver-dependent memory 40 * regions into the linear user address-space. It provides offsets to the 41 * caller which can then be used on the address_space of the drm-device. It 43 * confuse mm-core by inconsistent fake vm_pgoff fields. 45 * only be used to manage mappings into linear user-space VMs. 48 * optimized for alloc/free calls, not lookups. Hence, we use an rb-tree to 52 * Otherwise, mm-core will be unable to tear down memory mappings as the VM will 55 * This offset manager works on page-based addresses. That is, every argument [all …]
|
/linux-6.8/arch/arm64/mm/ |
D | copypage.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Based on arch/arm/mm/copypage.c 12 #include <asm/page.h> 17 void copy_highpage(struct page *to, struct page *from) in copy_highpage() 28 /* It's a new page, shouldn't have been tagged yet */ in copy_highpage() 36 void copy_user_highpage(struct page *to, struct page *from, in copy_user_highpage()
|