| /linux/security/landlock/ |
| H A D | audit.c | 15 #include "access.h" 90 const access_mask_t access) in log_blockers() 92 const unsigned long access_mask = access; in log_blockers() 96 for_each_set_bit(access_bit, &access_mask, BITS_PER_TYPE(access)) { in log_blockers() 189 for (ssize_t i = ARRAY_SIZE(masks->access) - 1; i >= 0; i--) { in get_denied_layer() 190 if (masks->access[i] & *access_request) { in get_denied_layer() 191 *access_request &= masks->access[i]; in get_denied_layer() 209 .access[0] = LANDLOCK_ACCESS_FS_EXECUTE | in test_get_denied_layer() 211 .access[1] = LANDLOCK_ACCESS_FS_READ_FILE | in test_get_denied_layer() 213 .access[ in test_get_denied_layer() 89 log_blockers(struct audit_buffer * const ab,const enum landlock_request_type type,const access_mask_t access) log_blockers() argument 214 access_mask_t access; test_get_denied_layer() local 286 access_mask_t access; test_get_layer_from_deny_masks() local [all...] |
| H A D | fs.c | 44 #include "access.h" 208 /* Other commands are guarded by the access right. */ in is_masked_device_ioctl() 312 /* All access rights that can be tied to files. */ 335 /* Files only get access rights that make sense. */ in landlock_append_fs_rule() 342 /* Transforms relative access rights to absolute ones. */ in landlock_append_fs_rule() 389 * Allows access to pseudo filesystems that will never be mountable (e.g. 405 * Returns true iff the child file with the given src_child access rights under 406 * src_parent would result in having the same or fewer access rights if it were in may_refer() 414 for (size_t i = 0; i < ARRAY_SIZE(new_parent->access); i++) { in may_refer() 415 access_mask_t child_access = src_parent->access[ in may_refer() 1577 access_mask_t access = 0; get_required_file_open_access() local [all...] |
| H A D | ruleset.c | 257 this->layers[0].access |= (*layers)[0].access; in insert_rule() 294 .access = ~0, in build_check_layer() 302 BUILD_BUG_ON(layer.access < LANDLOCK_MASK_ACCESS_FS); in build_check_layer() 308 const access_mask_t access) in landlock_insert_rule() argument 311 .access = access, in landlock_insert_rule() 353 layers[0].access = walker_rule->layers[0].access; in merge_tree() 652 masks->access[layer->level - 1] &= ~layer->access; in landlock_unmask_layers() 655 for (size_t i = 0; i < ARRAY_SIZE(masks->access); i++) { in landlock_unmask_layers() 656 if (masks->access[i]) in landlock_unmask_layers() 712 masks->access[i] = access_request & handled; in landlock_init_layer_masks() [all …]
|
| /linux/drivers/infiniband/sw/rxe/ |
| H A D | rxe_mw.c | 51 struct rxe_mw *mw, struct rxe_mr *mr, int access) in rxe_check_bind_mw() argument 61 if (unlikely((access & IB_ZERO_BASED))) { in rxe_check_bind_mw() 94 if (unlikely(mr->access & IB_ZERO_BASED)) { in rxe_check_bind_mw() 100 if (unlikely(!(mr->access & IB_ACCESS_MW_BIND))) { in rxe_check_bind_mw() 107 if (unlikely((access & in rxe_check_bind_mw() 109 !(mr->access & IB_ACCESS_LOCAL_WRITE))) { in rxe_check_bind_mw() 116 if (access & IB_ZERO_BASED) { in rxe_check_bind_mw() 136 struct rxe_mw *mw, struct rxe_mr *mr, int access) in rxe_do_bind_mw() argument 141 mw->access = access; in rxe_do_bind_mw() 172 int access = wqe->wr.wr.mw.access; in rxe_bind_mw() local [all …]
|
| H A D | rxe_mr.c | 48 void rxe_mr_init(int access, struct rxe_mr *mr) in rxe_mr_init() argument 60 mr->access = access; in rxe_mr_init() 67 void rxe_mr_init_dma(int access, struct rxe_mr *mr) in rxe_mr_init_dma() argument 69 rxe_mr_init(access, mr); in rxe_mr_init_dma() 130 bool persistent = !!(mr->access & IB_ACCESS_FLUSH_PERSISTENT); in rxe_mr_fill_pages_from_sgt() 193 int access, struct rxe_mr *mr) in rxe_mr_init_user() argument 198 rxe_mr_init(access, mr); in rxe_mr_init_user() 200 umem = ib_umem_get(&rxe->ib_dev, start, length, access); in rxe_mr_init_user() 262 bool persistent = !!(mr->access & IB_ACCESS_FLUSH_PERSISTENT); in rxe_set_page() 417 int access, in copy_data() argument [all …]
|
| /linux/security/ |
| H A D | device_cgroup.c | 38 short access; member 118 walk->access |= ex->access; in dev_exception_add() 146 walk->access &= ~ex->access; in dev_exception_rm() 147 if (!walk->access) { in dev_exception_rm() 247 static void seq_putaccess(struct seq_file *m, short access) in seq_putaccess() argument 249 if (access & DEVCG_ACC_READ) in seq_putaccess() 251 if (access & DEVCG_ACC_WRITE) in seq_putaccess() 253 if (access & DEVCG_ACC_MKNOD) in seq_putaccess() 299 seq_putaccess(m, ex->access); in devcgroup_seq_show() 322 u32 major, u32 minor, short access) in match_exception() argument [all …]
|
| /linux/Documentation/admin-guide/mm/damon/ |
| H A D | start.rst | 40 The commands below show the memory access pattern of a program at the moment of 45 $ sudo damo report access 48 0 addr 86.182 TiB size 8.000 KiB access 0 % age 14.900 s 49 1 addr 86.182 TiB size 8.000 KiB access 60 % age 0 ns 50 2 addr 86.182 TiB size 3.422 MiB access 0 % age 4.100 s 51 3 addr 86.182 TiB size 2.004 MiB access 95 % age 2.200 s 52 4 addr 86.182 TiB size 29.688 MiB access 0 % age 14.100 s 53 5 addr 86.182 TiB size 29.516 MiB access 0 % age 16.700 s 54 6 addr 86.182 TiB size 29.633 MiB access 0 % age 17.900 s 55 7 addr 86.182 TiB size 117.652 MiB access 0 % age 18.400 s [all …]
|
| /linux/sound/core/ |
| H A D | control_led.c | 49 unsigned int access; member 82 static inline unsigned int access_to_group(unsigned int access) in access_to_group() argument 84 return ((access & SNDRV_CTL_ELEM_ACCESS_LED_MASK) >> in access_to_group() 93 static struct snd_ctl_led *snd_ctl_led_get_by_access(unsigned int access) in snd_ctl_led_get_by_access() argument 95 unsigned int group = access_to_group(access); in snd_ctl_led_get_by_access() 138 static void snd_ctl_led_set_state(struct snd_card *card, unsigned int access, in snd_ctl_led_set_state() argument 146 led = snd_ctl_led_get_by_access(access); in snd_ctl_led_set_state() 164 lctl->access = access; in snd_ctl_led_set_state() 201 unsigned int access) in snd_ctl_led_remove() argument 208 if (lctl && (access == 0 || access != lctl->access)) { in snd_ctl_led_remove() [all …]
|
| /linux/Documentation/admin-guide/LSM/ |
| H A D | Smack.rst | 10 Smack is a kernel based implementation of mandatory access 33 access to systems that use them as Smack does. 50 load the Smack access rules 53 report if a process with one label has access 85 Used to make access control decisions. In almost all cases 95 label does not allow all of the access permitted to a process 102 the Smack rule (more below) that permitted the write access 110 Use the Smack label in this attribute for access control 115 Use the Smack label in this attribute for access control 131 access [all …]
|
| /linux/drivers/iommu/iommufd/ |
| H A D | viommu.c | 253 struct iommufd_access *access, in iommufd_hw_queue_destroy_access() argument 259 iommufd_access_unpin_pages(access, aligned_iova, in iommufd_hw_queue_destroy_access() 261 iommufd_access_detach_internal(access); in iommufd_hw_queue_destroy_access() 262 iommufd_access_destroy_internal(ictx, access); in iommufd_hw_queue_destroy_access() 272 if (hw_queue->access) in iommufd_hw_queue_destroy() 274 hw_queue->access, in iommufd_hw_queue_destroy() 295 struct iommufd_access *access; in iommufd_hw_queue_alloc_phys() local 319 access = iommufd_access_create_internal(viommu->ictx); in iommufd_hw_queue_alloc_phys() 320 if (IS_ERR(access)) { in iommufd_hw_queue_alloc_phys() 321 rc = PTR_ERR(access); in iommufd_hw_queue_alloc_phys() [all …]
|
| /linux/kernel/kcsan/ |
| H A D | kcsan_test.c | 152 } access[2]; member 159 const bool is_assert = (r->access[0].type | r->access[1].type) & KCSAN_ACCESS_ASSERT; in __report_matches() 182 if (r->access[1].fn) { in __report_matches() 187 scnprintf(tmp[0], sizeof(tmp[0]), "%pS", r->access[0].fn); in __report_matches() 188 scnprintf(tmp[1], sizeof(tmp[1]), "%pS", r->access[1].fn); in __report_matches() 191 cmp < 0 ? r->access[0].fn : r->access[1].fn, in __report_matches() 192 cmp < 0 ? r->access[1].fn : r->access[0].fn); in __report_matches() 194 scnprintf(cur, end - cur, "%pS", r->access[0].fn); in __report_matches() 204 if (!r->access[1].fn) in __report_matches() 209 const int ty = r->access[i].type; in __report_matches() [all …]
|
| /linux/tools/testing/selftests/landlock/ |
| H A D | fs_test.c | 441 * (access type) confusion for this test. in test_open_rel() 542 /* Tests with denied-by-default access right. */ in TEST_F_FORK() 556 /* Test with no access. */ in TEST_F_FORK() 602 __u64 access; in TEST_F_FORK() 614 /* Tests access rights for files. */ in TEST_F_FORK() 618 /* Tests access rights for directories. */ in TEST_F_FORK() 623 for (access = 1; access <= ACCESS_LAST; access <<= 1) { in TEST_F_FORK() 624 path_beneath_dir.allowed_access = access; in TEST_F_FORK() 600 __u64 access; TEST_F_FORK() local 660 __u64 access; TEST_F_FORK() local 692 __u64 access; TEST_F_FORK() local 744 __u64 access; global() member 3398 test_make_file(struct __test_metadata * const _metadata,const __u64 access,const mode_t mode,const dev_t dev) test_make_file() argument [all...] |
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/dma/ |
| H A D | user.c | 87 args->v0.version, args->v0.target, args->v0.access, in nvkm_dmaobj_ctor() 90 dmaobj->access = args->v0.access; in nvkm_dmaobj_ctor() 120 switch (dmaobj->access) { in nvkm_dmaobj_ctor() 122 dmaobj->access = NV_MEM_ACCESS_VM; in nvkm_dmaobj_ctor() 125 dmaobj->access = NV_MEM_ACCESS_RO; in nvkm_dmaobj_ctor() 128 dmaobj->access = NV_MEM_ACCESS_WO; in nvkm_dmaobj_ctor() 131 dmaobj->access = NV_MEM_ACCESS_RW; in nvkm_dmaobj_ctor()
|
| /linux/drivers/platform/chrome/ |
| H A D | cros_ec_lpc_mec.c | 129 enum cros_ec_lpc_mec_emi_access_mode access, new_access; in cros_ec_lpc_io_bytes_mec() local 145 access = ACCESS_TYPE_BYTE; in cros_ec_lpc_io_bytes_mec() 147 access = ACCESS_TYPE_LONG_AUTO_INCREMENT; in cros_ec_lpc_io_bytes_mec() 154 cros_ec_lpc_mec_emi_write_address(offset, access); in cros_ec_lpc_io_bytes_mec() 182 if (new_access != access || in cros_ec_lpc_io_bytes_mec() 183 access != ACCESS_TYPE_LONG_AUTO_INCREMENT) { in cros_ec_lpc_io_bytes_mec() 184 access = new_access; in cros_ec_lpc_io_bytes_mec() 185 cros_ec_lpc_mec_emi_write_address(offset, access); in cros_ec_lpc_io_bytes_mec()
|
| /linux/fs/afs/ |
| H A D | security.c | 164 h += permits->permits[i].access; in afs_hash_permits() 201 if (permits->permits[i].access != caller_access) { in afs_cache_permit() 266 new->permits[j].access = caller_access; in afs_cache_permit() 270 new->permits[j].access = permits->permits[i].access; in afs_cache_permit() 277 new->permits[j].access = caller_access; in afs_cache_permit() 360 *_access = permits->permits[i].access; in afs_check_permit_rcu() 400 *_access = permits->permits[i].access; in afs_check_permit() 435 afs_access_t access; in afs_permission() local 449 !afs_check_permit_rcu(vnode, key, &access)) in afs_permission() 463 ret = afs_check_permit(vnode, key, &access); in afs_permission() [all …]
|
| /linux/Documentation/core-api/ |
| H A D | unaligned-memory-access.rst | 14 when it comes to memory access. This document presents some details about 19 The definition of an unaligned access 26 access. 28 The above may seem a little vague, as memory access can happen in different 32 which will compile to multiple-byte memory access instructions, namely when 47 of memory access. However, we must consider ALL supported architectures; 52 Why unaligned access is bad 55 The effects of performing an unaligned memory access vary from architecture 62 happen. The exception handler is able to correct the unaligned access, 66 unaligned access to be corrected. [all …]
|
| /linux/arch/arm/include/asm/ |
| H A D | arch_timer.h | 28 void arch_timer_reg_write_cp15(int access, enum arch_timer_reg reg, u64 val) in arch_timer_reg_write_cp15() argument 30 if (access == ARCH_TIMER_PHYS_ACCESS) { in arch_timer_reg_write_cp15() 42 } else if (access == ARCH_TIMER_VIRT_ACCESS) { in arch_timer_reg_write_cp15() 60 u32 arch_timer_reg_read_cp15(int access, enum arch_timer_reg reg) in arch_timer_reg_read_cp15() argument 64 if (access == ARCH_TIMER_PHYS_ACCESS) { in arch_timer_reg_read_cp15() 72 } else if (access == ARCH_TIMER_VIRT_ACCESS) { in arch_timer_reg_read_cp15()
|
| /linux/Documentation/arch/arm/ |
| H A D | mem_alignment.rst | 5 Too many problems popped up because of unnoticed misaligned memory access in 14 unaligned memory access in general. If those access are predictable, you 16 alignment trap can fixup misaligned access for the exception cases, but at 20 trap to SIGBUS any code performing unaligned access (good for debugging bad 21 code), or even fixup the access by software like for kernel code. The later 36 0 A user process performing an unaligned memory access 42 performing the unaligned access. This is of course 47 performing the unaligned access. 59 information on unaligned access occurrences plus the current mode of
|
| /linux/drivers/net/dsa/sja1105/ |
| H A D | sja1105_dynamic_config.c | 886 .access = OP_WRITE, 894 .access = (OP_READ | OP_WRITE | OP_DEL), 902 .access = (OP_READ | OP_WRITE | OP_VALID_ANYWAY), 910 .access = (OP_WRITE | OP_DEL), 919 .access = OP_WRITE, 927 .access = OP_WRITE, 935 .access = OP_WRITE, 943 .access = OP_WRITE, 951 .access = (OP_WRITE | OP_DEL), 959 .access = OP_WRITE, [all …]
|
| /linux/drivers/infiniband/core/ |
| H A D | umem_dmabuf.c | 120 int fd, int access, in ib_umem_dmabuf_get_with_dma_device() argument 149 umem->writable = ib_access_writable(access); in ib_umem_dmabuf_get_with_dma_device() 176 int fd, int access, in ib_umem_dmabuf_get() argument 180 offset, size, fd, access, ops); in ib_umem_dmabuf_get() 217 size_t size, int fd, int access, in ib_umem_dmabuf_get_pinned_and_lock() argument 225 size, fd, access, ops); in ib_umem_dmabuf_get_pinned_and_lock() 251 int fd, int access) in ib_umem_dmabuf_get_pinned_with_dma_device() argument 255 size, fd, access, in ib_umem_dmabuf_get_pinned_with_dma_device() 296 int fd, int access) in ib_umem_dmabuf_get_pinned_revocable_and_lock() argument 302 offset, size, fd, access, in ib_umem_dmabuf_get_pinned_revocable_and_lock() [all …]
|
| /linux/tools/testing/selftests/exec/ |
| H A D | check-exec.c | 71 FIXTURE(access) in FIXTURE() argument 77 FIXTURE_VARIANT(access) in FIXTURE_VARIANT() argument 84 FIXTURE_VARIANT_ADD(access, mount_exec_file_exec) { in FIXTURE_VARIANT_ADD() argument 91 FIXTURE_VARIANT_ADD(access, mount_exec_file_noexec) { in FIXTURE_VARIANT_ADD() argument 98 FIXTURE_VARIANT_ADD(access, mount_noexec_file_exec) { in FIXTURE_VARIANT_ADD() argument 105 FIXTURE_VARIANT_ADD(access, mount_noexec_file_noexec) { in FIXTURE_VARIANT_ADD() argument 119 FIXTURE_SETUP(access) in FIXTURE_SETUP() argument 173 FIXTURE_TEARDOWN_PARENT(access) in FIXTURE_TEARDOWN_PARENT() argument 267 TEST_F(access, regular_file_empty) in TEST_F() argument 277 TEST_F(access, regular_file_elf) in TEST_F() argument [all …]
|
| /linux/tools/perf/Documentation/ |
| H A D | security.txt | 8 Enabling LSM based mandatory access control (MAC) to perf_event_open() syscall 11 LSM hooks for mandatory access control for perf_event_open() syscall can be 13 Targeted policy with perf_event_open() access control capabilities: 127 Opening access to perf_event_open() syscall on Fedora with SELinux 133 and prevent unauthorized access to perf_event_open() syscall. In such case 139 Enforced MAC policy settings (SELinux) can limit access to performance 141 more perf_event access control information and adjusting the policy. 143 access to performance monitoring and observability operations for users 148 >= 0: Disallow raw and ftrace function tracepoint access 149 >= 1: Disallow CPU event access [all …]
|
| /linux/arch/x86/kvm/mmu/ |
| H A D | paging_tmpl.h | 109 static inline void FNAME(protect_clean_gpte)(struct kvm_mmu *mmu, unsigned *access, in FNAME() 124 *access &= mask; in FNAME() 181 unsigned access; in FNAME() local 183 access = ((gpte & VMX_EPT_WRITABLE_MASK) ? ACC_WRITE_MASK : 0) | in FNAME() 189 access = gpte & (PT_WRITABLE_MASK | PT_USER_MASK | PT_PRESENT_MASK); in FNAME() 191 access ^= (gpte >> PT64_NX_SHIFT); in FNAME() 194 return access; in FNAME() 304 gpa_t addr, u64 access) in FNAME() 317 const int write_fault = access & PFERR_WRITE_MASK; in FNAME() 318 const int user_fault = access & PFERR_USER_MASK; in FNAME() [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | dev_cgroup.c | 17 short access = ctx->access_type >> 16; in bpf_prog1() local 32 if (access & BPF_DEVCG_ACC_READ) in bpf_prog1() 35 if (access & BPF_DEVCG_ACC_WRITE) in bpf_prog1() 38 if (access & BPF_DEVCG_ACC_MKNOD) in bpf_prog1()
|
| /linux/arch/arm64/include/asm/ |
| H A D | arch_timer.h | 100 void arch_timer_reg_write_cp15(int access, enum arch_timer_reg reg, u64 val) in arch_timer_reg_write_cp15() argument 102 if (access == ARCH_TIMER_PHYS_ACCESS) { in arch_timer_reg_write_cp15() 114 } else if (access == ARCH_TIMER_VIRT_ACCESS) { in arch_timer_reg_write_cp15() 132 u64 arch_timer_reg_read_cp15(int access, enum arch_timer_reg reg) in arch_timer_reg_read_cp15() argument 134 if (access == ARCH_TIMER_PHYS_ACCESS) { in arch_timer_reg_read_cp15() 141 } else if (access == ARCH_TIMER_VIRT_ACCESS) { in arch_timer_reg_read_cp15()
|