/openbmc/linux/kernel/livepatch/ |
H A D | shadow.c | 3 * shadow.c - Shadow Variables 11 * DOC: Shadow variable API concurrency notes: 13 * The shadow variable API provides a simple relationship between an 15 * caller to provide any mutual exclusion required of the shadow data. 17 * Once a shadow variable is attached to its parent object via the 19 * call to klp_shadow_get() may then return the shadow variable's data 20 * pointer. Callers of klp_shadow_*alloc() should prepare shadow data 23 * The klp_shadow_*alloc() API calls may allocate memory for new shadow 42 * the shadow variables it references. 47 * struct klp_shadow - shadow variable structure [all …]
|
/openbmc/linux/Documentation/arch/x86/ |
H A D | shstk.rst | 4 Control-flow Enforcement Technology (CET) Shadow Stack 14 CET introduces shadow stack and indirect branch tracking (IBT). A shadow stack 17 return address to both the normal stack and the shadow stack. Upon 18 function return, the processor pops the shadow stack copy and compares it 21 as marked by the compiler with 'ENDBR' opcodes. Not all CPU's have both Shadow 23 shadow stack and kernel IBT are supported. 25 Requirements to use Shadow Stack 28 To use userspace shadow stack you need HW that supports it, a kernel 31 The kernel Kconfig option is X86_USER_SHADOW_STACK. When compiled in, shadow 34 To build a user shadow stack enabled kernel, Binutils v2.29 or LLVM v6 or later [all …]
|
/openbmc/linux/Documentation/livepatch/ |
H A D | shadow-vars.rst | 2 Shadow Variables 5 Shadow variables are a simple way for livepatch modules to associate 6 additional "shadow" data with existing data structures. Shadow data is 8 unmodified. The shadow variable API described in this document is used 9 to allocate/add and remove/free shadow variables to/from their parents. 13 shadow data. The numeric identifier is a simple enumeration that may be 14 used to describe shadow variable version, class or type, etc. More 16 numeric id subsequently filters hashtable queries. Multiple shadow 24 (See the full API usage docbook notes in livepatch/shadow.c.) 26 A hashtable references all shadow variables. These references are [all …]
|
/openbmc/linux/drivers/gpu/drm/ |
H A D | drm_gem_atomic_helper.c | 22 * for planes with shadow buffers. 41 * A driver using a shadow buffer copies the content of the shadow buffers 43 * a mapping of the shadow buffer into kernel address space. The mappings 47 * The helpers for shadow-buffered planes establish and release mappings, 51 * Shadow-buffered planes can easily be enabled by using the provided macros 54 * shadow-buffer helpers. 70 * In the driver's atomic-update function, shadow-buffer mappings are available 83 * // access shadow buffer via shadow_plane_state->map 92 * callbacks. Access to shadow-buffer mappings is similar to regular 109 * // access shadow buffer via shadow_plane_state->map [all …]
|
/openbmc/linux/drivers/scsi/ |
H A D | xen-scsifront.c | 121 struct vscsifrnt_shadow *shadow[VSCSIIF_MAX_REQS]; member 163 info->shadow[id] = NULL; in _scsifront_put_rqid() 182 struct vscsifrnt_shadow *shadow) in scsifront_do_request() argument 186 struct scsi_cmnd *sc = shadow->sc; in scsifront_do_request() 197 info->shadow[id] = shadow; in scsifront_do_request() 198 shadow->rqid = id; in scsifront_do_request() 204 ring_req->act = shadow->act; in scsifront_do_request() 205 ring_req->ref_rqid = shadow->ref_rqid; in scsifront_do_request() 206 ring_req->nr_segments = shadow->nr_segments; in scsifront_do_request() 220 for (i = 0; i < (shadow->nr_segments & ~VSCSIIF_SG_GRANT); i++) in scsifront_do_request() [all …]
|
/openbmc/linux/mm/kmsan/ |
H A D | core.c | 90 u32 *align_shadow_src, shadow; in kmsan_internal_memmove_metadata() local 101 * @src is untracked: zero out destination shadow, ignore the in kmsan_internal_memmove_metadata() 132 shadow = align_shadow_src[i]; in kmsan_internal_memmove_metadata() 137 * of the first shadow slot. in kmsan_internal_memmove_metadata() 140 shadow = (shadow >> skip_bits) << skip_bits; in kmsan_internal_memmove_metadata() 147 * last shadow slot. in kmsan_internal_memmove_metadata() 150 shadow = (shadow << skip_bits) >> skip_bits; in kmsan_internal_memmove_metadata() 154 * shadow is nonempty. in kmsan_internal_memmove_metadata() 156 if (origin_src[i] && (origin_src[i] != old_origin) && shadow) { in kmsan_internal_memmove_metadata() 167 if (shadow) in kmsan_internal_memmove_metadata() [all …]
|
H A D | init.c | 67 * Initialize the shadow for existing mappings during kernel initialization. 83 /* Allocate shadow for .data */ in kmsan_init_shadow() 97 struct page *shadow, *origin; member 106 * time with a certain order, it is reserved as a shadow block, for the second 108 * shadow and origin ranges from the previously saved shadow and origin blocks, 116 struct page *shadow, *origin; in kmsan_memblock_free_pages() local 118 if (!held_back[order].shadow) { in kmsan_memblock_free_pages() 119 held_back[order].shadow = page; in kmsan_memblock_free_pages() 126 shadow = held_back[order].shadow; in kmsan_memblock_free_pages() 128 kmsan_setup_meta(page, shadow, origin, order); in kmsan_memblock_free_pages() [all …]
|
H A D | shadow.c | 3 * KMSAN shadow implementation. 85 void *shadow; in kmsan_get_shadow_origin_ptr() local 97 shadow = kmsan_get_metadata(address, KMSAN_META_SHADOW); in kmsan_get_shadow_origin_ptr() 98 if (!shadow) in kmsan_get_shadow_origin_ptr() 101 ret.shadow = shadow; in kmsan_get_shadow_origin_ptr() 108 ret.shadow = dummy_store_page; in kmsan_get_shadow_origin_ptr() 112 ret.shadow = dummy_load_page; in kmsan_get_shadow_origin_ptr() 119 * Obtain the shadow or origin pointer for the given address, or NULL if there's 175 struct page *shadow, *origin; in kmsan_alloc_page() local 182 shadow = shadow_page_for(page); in kmsan_alloc_page() [all …]
|
H A D | instrumentation.c | 47 /* Get shadow and origin pointers for a memory load with non-standard size. */ 57 /* Get shadow and origin pointers for a memory store with non-standard size. */ 68 * Declare functions that obtain shadow/origin pointers for loads and stores 134 * get_param0_metadata() and set_retval_metadata() to store the shadow/origin 138 static inline void get_param0_metadata(u64 *shadow, in get_param0_metadata() argument 143 *shadow = *(u64 *)(ctx->cstate.param_tls); in get_param0_metadata() 147 static inline void set_retval_metadata(u64 shadow, depot_stack_handle_t origin) in set_retval_metadata() argument 151 *(u64 *)(ctx->cstate.retval_tls) = shadow; in set_retval_metadata() 161 u64 shadow; in __msan_memmove() local 163 get_param0_metadata(&shadow, &origin); in __msan_memmove() [all …]
|
/openbmc/linux/include/drm/ |
H A D | drm_gem_atomic_helper.h | 20 * Helpers for planes with shadow buffers 24 * DRM_SHADOW_PLANE_MAX_WIDTH - Maximum width of a plane's shadow buffer in pixels 26 * For drivers with shadow planes, the maximum width of the framebuffer is 33 * DRM_SHADOW_PLANE_MAX_HEIGHT - Maximum height of a plane's shadow buffer in scanlines 35 * For drivers with shadow planes, the maximum height of the framebuffer is 42 * struct drm_shadow_plane_state - plane state for planes with shadow buffers 44 * For planes that use a shadow buffer, struct drm_shadow_plane_state 45 * provides the regular plane state plus mappings of the shadow buffer 94 * Initializes struct drm_plane_funcs for shadow-buffered planes 96 * Drivers may use GEM BOs as shadow buffers over the framebuffer memory. This [all …]
|
/openbmc/openbmc/poky/meta/recipes-extended/shadow/ |
H A D | shadow-sysroot_4.6.bb | 1 SUMMARY = "Shadow utils requirements for useradd.bbclass" 2 HOMEPAGE = "http://github.com/shadow-maint/shadow" 3 BUGTRACKER = "http://github.com/shadow-maint/shadow/issues" 12 # file for the target sysroot - needed so the shadow-native utilities 27 # otherwise: dbus-dev depends on shadow-sysroot-dev which depends on shadow-sysroot 28 # and this has another copy of /etc/login.defs already provided by shadow
|
H A D | shadow.inc | 2 HOMEPAGE = "http://github.com/shadow-maint/shadow" 4 BUGTRACKER = "http://github.com/shadow-maint/shadow/issues" 13 GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases" 21 file://shadow-update-pam-conf.patch \ 79 RDEPENDS:${PN} = "shadow-securetty \ 117 # Ensure that the image has as a /var/spool/mail dir so shadow can 118 # put mailboxes there if the user reconfigures shadow to its 160 chrpath -k -r ${STAGING_DIR_NATIVE}/lib-shadow-deps $binaries 161 mkdir -p ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/ 163 …_NATIVE}/libbsd.so.* ${STAGING_LIBDIR_NATIVE}/libmd.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/ [all …]
|
/openbmc/linux/arch/arm/include/asm/ |
H A D | kasan_def.h | 19 * space to use as shadow memory for KASan as follows: 31 * | | |-> The shadow area of kernel virtual address. 34 * | |\ shadow address of MODULES_VADDR 47 * This value begins with the MODULE_VADDR's shadow address. It is the 49 * to cover also that area with shadow memory so we can find memory 53 * This value is the 0x100000000's shadow address: the mapping that would 55 * kernel address sanitizer shadow area. It is also the start of the 59 * This value is used to map an address to the corresponding shadow 65 * byte in the shadow memory covers 8 bytes of kernel memory, so one 66 * bit shadow memory per byte of kernel memory is used. [all …]
|
/openbmc/linux/drivers/gpio/ |
H A D | gpio-mm-lantiq.c | 31 u16 shadow; /* shadow the latches state */ member 35 * ltq_mm_apply() - write the shadow value to the ebu address. 38 * Write the shadow value to the EBU to set the gpios. We need to set the 47 __raw_writew(chip->shadow, chip->mmchip.regs); in ltq_mm_apply() 58 * Set the shadow value and call ltq_mm_apply. 65 chip->shadow |= (1 << offset); in ltq_mm_set() 67 chip->shadow &= ~(1 << offset); in ltq_mm_set() 104 u32 shadow; in ltq_mm_probe() local 117 /* store the shadow value if one was passed by the devicetree */ in ltq_mm_probe() 118 if (!of_property_read_u32(pdev->dev.of_node, "lantiq,shadow", &shadow)) in ltq_mm_probe() [all …]
|
/openbmc/linux/arch/arm/mm/ |
H A D | kasan_init.c | 55 panic("%s failed to allocate shadow page for address 0x%lx\n", in kasan_pte_populate() 64 * The early shadow memory is mapping all KASan in kasan_pte_populate() 68 * proper KASan shadow memory. in kasan_pte_populate() 74 * Early shadow mappings are PMD_SIZE aligned, so if the in kasan_pte_populate() 96 * We attempt to allocate a shadow block for the PMDs in kasan_pmd_populate() 104 panic("%s failed to allocate shadow block for address 0x%lx\n", in kasan_pmd_populate() 129 * Allocate and populate the shadow block of p4d folded into in kasan_pgd_populate() 136 panic("%s failed to allocate shadow block for address 0x%lx\n", in kasan_pgd_populate() 176 * We walk the page table and set all of the shadow memory to point in kasan_early_init() 196 pr_info("Mapping kernel virtual memory block: %px-%px at shadow: %px-%px\n", in create_mapping() [all …]
|
/openbmc/linux/Documentation/dev-tools/ |
H A D | kmsan.rst | 95 incorrect shadow/origin values, likely leading to false positives. Functions 125 KMSAN shadow memory 128 KMSAN associates a metadata byte (also called shadow byte) with every byte of 129 kernel memory. A bit in the shadow byte is set iff the corresponding bit of the 131 setting its shadow bytes to ``0xff``) is called poisoning, marking it 132 initialized (setting the shadow bytes to ``0x00``) is called unpoisoning. 139 Compiler instrumentation also tracks the shadow values as they are used along 141 ``mm/kmsan/`` to persist shadow values. 143 The shadow value of a basic or compound type is an array of bytes of the same 145 When a value is read from memory, its shadow memory is also obtained and [all …]
|
/openbmc/linux/arch/powerpc/include/asm/ |
H A D | kasan.h | 37 * The shadow ends before the highest accessible address 38 * because we don't need a shadow for the shadow. Instead: 46 * The shadow ends before the highest accessible address 47 * because we don't need a shadow for the shadow. 48 * But it doesn't hurt to have a shadow for the shadow, 49 * keep shadow end aligned eases things.
|
/openbmc/linux/samples/livepatch/ |
H A D | livepatch-shadow-fix1.c | 7 * livepatch-shadow-fix1.c - Shadow variables, livepatch demo 12 * Fixes the memory leak introduced in livepatch-shadow-mod through the 13 * use of a shadow variable. This fix demonstrates the "extending" of 22 * section of livepatch-shadow-mod.c. 32 /* Shadow variable enums */ 49 * In this example, it would be safe to assign the pointer also to the shadow 79 * Patch: save the extra memory location into a SV_LEAK shadow in livepatch_fix1_dummy_alloc() 90 pr_err("%s: failed to allocate shadow variable for the leaking pointer: dummy @ %p, leak @ %p\n", in livepatch_fix1_dummy_alloc() 122 * Patch: fetch the saved SV_LEAK shadow variable, detach and in livepatch_fix1_dummy_free() 123 * free it. Note: handle cases where this shadow variable does in livepatch_fix1_dummy_free() [all …]
|
H A D | livepatch-shadow-mod.c | 7 * livepatch-shadow-mod.c - Shadow variables, buggy module demo 12 * As a demonstration of livepatch shadow variable API, this module 14 * livepatch-shadow-fix1.ko and livepatch-shadow-fix2.ko correct and 17 * WARNING - even though the livepatch-shadow-fix modules patch the 27 * insmod samples/livepatch/livepatch-shadow-mod.ko 36 * insmod samples/livepatch/livepatch-shadow-fix1.ko 45 * insmod samples/livepatch/livepatch-shadow-fix2.ko 47 * This module extends functionality through shadow variables, as a new 59 * rmmod livepatch-shadow-fix2 60 * rmmod livepatch-shadow-fix1 [all …]
|
H A D | livepatch-shadow-fix2.c | 7 * livepatch-shadow-fix2.c - Shadow variables, livepatch demo 12 * Adds functionality to livepatch-shadow-mod's in-flight data 13 * structures through a shadow variable. The livepatch patches a 22 * section of livepatch-shadow-mod.c. 32 /* Shadow variable enums */ 47 * already have a SV_COUNTER shadow variable, then attach a in livepatch_fix2_dummy_check() 82 * Patch: fetch the SV_COUNTER shadow variable and display in livepatch_fix2_dummy_free() 83 * the final count. Detach the shadow variable. in livepatch_fix2_dummy_free() 125 /* Cleanup any existing SV_COUNTER shadow variables */ in livepatch_shadow_fix2_exit()
|
/openbmc/linux/fs/nilfs2/ |
H A D | mdt.c | 474 struct nilfs_shadow_map *shadow = mdi->mi_shadow; in nilfs_mdt_clear() local 479 if (shadow) { in nilfs_mdt_clear() 480 struct inode *s_inode = shadow->inode; in nilfs_mdt_clear() 482 shadow->inode = NULL; in nilfs_mdt_clear() 511 * nilfs_mdt_setup_shadow_map - setup shadow map and bind it to metadata file 513 * @shadow: shadow mapping 516 struct nilfs_shadow_map *shadow) in nilfs_mdt_setup_shadow_map() argument 521 INIT_LIST_HEAD(&shadow->frozen_buffers); in nilfs_mdt_setup_shadow_map() 527 shadow->inode = s_inode; in nilfs_mdt_setup_shadow_map() 528 mi->mi_shadow = shadow; in nilfs_mdt_setup_shadow_map() [all …]
|
/openbmc/openbmc/poky/bitbake/lib/toaster/toastergui/static/css/ |
H A D | jquery.dataTables-1.13.8.min.css | 1 …shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.9);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-…
|
/openbmc/linux/Documentation/virt/kvm/x86/ |
H A D | mmu.rst | 4 The x86 kvm shadow mmu 55 spte shadow pte (referring to pfns) 87 direct mode; otherwise it operates in shadow mode (see below). 118 Shadow pages 121 The principal data structure is the shadow page, 'struct kvm_mmu_page'. A 122 shadow page contains 512 sptes, which can be either leaf or nonleaf sptes. A 123 shadow page may contain a mix of leaf and nonleaf sptes. 126 is not related to a translation directly. It points to other shadow pages. 150 Shadow pages contain the following information: 152 The level in the shadow paging hierarchy that this shadow page belongs to. [all …]
|
/openbmc/openbmc/poky/meta/lib/oe/ |
H A D | rootfspostcommands.py | 13 dictionary instead (necessary for /etc/shadow and /etc/gshadow). If not, 42 Sorts shadow-utils 'passwd' and 'group' files in a rootfs' /etc directory 46 for main, shadow in (('passwd', 'shadow'), 51 filename = os.path.join(sysconfdir, shadow) 57 Remove shadow-utils backup file for files like /etc/passwd. 66 Remove shadow-utils backup files in a rootfs /etc directory. They are not 75 'shadow', 84 Tidy up shadow-utils files.
|
/openbmc/phosphor-host-ipmid/user_channel/ |
H A D | shadowlock.hpp | 3 #include <shadow.h> 12 namespace shadow namespace 20 * @brief Responsible for locking and unlocking /etc/shadow 30 /** @brief Default constructor that just locks the shadow file */ 35 lg2::error("Locking Shadow failed"); in Lock() 43 lg2::error("Un-Locking Shadow failed"); in ~Lock() 49 } // namespace shadow
|