| /linux/arch/powerpc/include/asm/ |
| A D | pkeys.h | 50 #define pkey_alloc_mask(pkey) (0x1 << pkey) argument 58 #define __mm_pkey_free(mm, pkey) { \ argument 66 pkey_alloc_mask(pkey)) 70 if (pkey < 0 || pkey >= arch_max_pkey()) in mm_pkey_is_allocated() 74 if (__mm_pkey_is_reserved(pkey)) in mm_pkey_is_allocated() 118 __mm_pkey_free(mm, pkey); in mm_pkey_free() 129 int prot, int pkey); 131 int prot, int pkey) in arch_override_mprotect_pkey() argument 140 if (pkey != -1) in arch_override_mprotect_pkey() 141 return pkey; in arch_override_mprotect_pkey() [all …]
|
| A D | mman.h | 18 unsigned long pkey) in arch_calc_vm_prot_bits() argument 21 return (((prot & PROT_SAO) ? VM_SAO : 0) | pkey_to_vmflag_bits(pkey)); in arch_calc_vm_prot_bits() 26 #define arch_calc_vm_prot_bits(prot, pkey) arch_calc_vm_prot_bits(prot, pkey) argument
|
| /linux/crypto/asymmetric_keys/ |
| A D | public_key.c | 89 pkey->pkey_algo); in software_key_determine_akcipher() 170 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen, in software_key_query() 175 memcpy(key, pkey->key, pkey->keylen); in software_key_query() 179 memcpy(ptr, pkey->params, pkey->paramlen); in software_key_query() 301 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen, in software_key_eds_op() 306 memcpy(key, pkey->key, pkey->keylen); in software_key_eds_op() 310 memcpy(ptr, pkey->params, pkey->paramlen); in software_key_eds_op() 398 BUG_ON(!pkey); in public_key_verify_signature() 427 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen, in public_key_verify_signature() 434 memcpy(key, pkey->key, pkey->keylen); in public_key_verify_signature() [all …]
|
| A D | restrict.c | 135 const struct public_key *pkey; in restrict_link_by_ca() local 140 pkey = payload->data[asym_crypto]; in restrict_link_by_ca() 141 if (!pkey) in restrict_link_by_ca() 143 if (!test_bit(KEY_EFLAG_CA, &pkey->key_eflags)) in restrict_link_by_ca() 149 if (test_bit(KEY_EFLAG_DIGITALSIG, &pkey->key_eflags)) in restrict_link_by_ca() 176 const struct public_key *pkey; in restrict_link_by_digsig() local 181 pkey = payload->data[asym_crypto]; in restrict_link_by_digsig() 183 if (!pkey) in restrict_link_by_digsig() 186 if (!test_bit(KEY_EFLAG_DIGITALSIG, &pkey->key_eflags)) in restrict_link_by_digsig() 189 if (test_bit(KEY_EFLAG_CA, &pkey->key_eflags)) in restrict_link_by_digsig() [all …]
|
| /linux/security/selinux/ |
| A D | ibpkey.c | 73 struct sel_ib_pkey *pkey; in sel_ib_pkey_find() local 77 if (pkey->psec.pkey == pkey_num && in sel_ib_pkey_find() 79 return pkey; in sel_ib_pkey_find() 100 idx = sel_ib_pkey_hashfn(pkey->psec.pkey); in sel_ib_pkey_insert() 132 struct sel_ib_pkey *pkey; in sel_ib_pkey_sid_slow() local 138 if (pkey) { in sel_ib_pkey_sid_slow() 139 *sid = pkey->psec.sid; in sel_ib_pkey_sid_slow() 183 struct sel_ib_pkey *pkey; in sel_ib_pkey_sid() local 187 if (pkey) { in sel_ib_pkey_sid() 188 *sid = pkey->psec.sid; in sel_ib_pkey_sid() [all …]
|
| /linux/tools/testing/selftests/mm/ |
| A D | protection_keys.c | 217 pkey, flags); in pkey_disable_set() 223 pkey, pkey, pkey_rights); in pkey_disable_set() 240 pkey, pkey, pkey_rights); in pkey_disable_set() 245 pkey, flags); in pkey_disable_set() 257 pkey, pkey, pkey_rights); in pkey_disable_clear() 268 pkey, pkey, pkey_rights); in pkey_disable_clear() 1032 u16 pkey) in test_read_of_access_disabled_region_with_page_already_mapped() argument 1037 pkey, ptr); in test_read_of_access_disabled_region_with_page_already_mapped() 1049 u16 pkey) in test_write_of_write_disabled_region_with_page_already_mapped() argument 1075 u16 pkey) in test_write_of_access_disabled_region_with_page_already_mapped() argument [all …]
|
| A D | pkey-arm64.h | 73 static inline u32 pkey_bit_position(int pkey) in pkey_bit_position() argument 75 return pkey * PKEY_BITS_PER_PKEY; in pkey_bit_position() 83 void expect_fault_on_read_execonly_key(void *p1, int pkey) in expect_fault_on_read_execonly_key() argument 87 void *malloc_pkey_with_mprotect_subpage(long size, int prot, u16 pkey) in malloc_pkey_with_mprotect_subpage() argument 93 static inline u64 set_pkey_bits(u64 reg, int pkey, u64 flags) in set_pkey_bits() argument 95 u32 shift = pkey_bit_position(pkey); in set_pkey_bits() 113 static inline u64 get_pkey_bits(u64 reg, int pkey) in get_pkey_bits() argument 115 u32 shift = pkey_bit_position(pkey); in get_pkey_bits() 129 static void aarch64_write_signal_pkey(ucontext_t *uctxt, u64 pkey) in aarch64_write_signal_pkey() argument 136 poe_ctx->por_el0 = pkey; in aarch64_write_signal_pkey()
|
| A D | pkey-powerpc.h | 37 static inline u32 pkey_bit_position(int pkey) in pkey_bit_position() argument 39 return (NR_PKEYS - pkey - 1) * PKEY_BITS_PER_PKEY; in pkey_bit_position() 94 void expect_fault_on_read_execonly_key(void *p1, int pkey) in expect_fault_on_read_execonly_key() argument 108 void *malloc_pkey_with_mprotect_subpage(long size, int prot, u16 pkey) in malloc_pkey_with_mprotect_subpage() argument 114 size, prot, pkey); in malloc_pkey_with_mprotect_subpage() 115 pkey_assert(pkey < NR_PKEYS); in malloc_pkey_with_mprotect_subpage() 125 ret = mprotect_pkey((void *)ptr, PAGE_SIZE, prot, pkey); in malloc_pkey_with_mprotect_subpage() 129 dprintf1("%s() for pkey %d @ %p\n", __func__, pkey, ptr); in malloc_pkey_with_mprotect_subpage()
|
| A D | pkey-helpers.h | 94 void expected_pkey_fault(int pkey); 96 int sys_pkey_free(unsigned long pkey); 98 unsigned long pkey); 116 static inline u64 set_pkey_bits(u64 reg, int pkey, u64 flags) in set_pkey_bits() argument 118 u32 shift = pkey_bit_position(pkey); in set_pkey_bits() 128 static inline u64 get_pkey_bits(u64 reg, int pkey) in get_pkey_bits() argument 130 u32 shift = pkey_bit_position(pkey); in get_pkey_bits() 171 static inline void __pkey_access_allow(int pkey, int do_allow) in __pkey_access_allow() argument 174 int bit = pkey * 2; in __pkey_access_allow() 185 static inline void __pkey_write_allow(int pkey, int do_allow_write) in __pkey_write_allow() argument [all …]
|
| /linux/arch/arm64/include/asm/ |
| A D | pkeys.h | 29 int prot, int pkey) in arch_override_mprotect_pkey() argument 31 if (pkey != -1) in arch_override_mprotect_pkey() 32 return pkey; in arch_override_mprotect_pkey() 44 #define mm_set_pkey_allocated(mm, pkey) do { \ argument 45 mm_pkey_allocation_map(mm) |= (1U << pkey); \ 47 #define mm_set_pkey_free(mm, pkey) do { \ argument 48 mm_pkey_allocation_map(mm) &= ~(1U << pkey); \ 58 if (pkey < 0 || pkey >= arch_max_pkey()) in mm_pkey_is_allocated() 61 return mm_pkey_allocation_map(mm) & (1U << pkey); in mm_pkey_is_allocated() 98 if (!mm_pkey_is_allocated(mm, pkey)) in mm_pkey_free() [all …]
|
| A D | por.h | 12 static inline bool por_elx_allows_read(u64 por, u8 pkey) in por_elx_allows_read() argument 14 u8 perm = POR_ELx_IDX(por, pkey); in por_elx_allows_read() 19 static inline bool por_elx_allows_write(u64 por, u8 pkey) in por_elx_allows_write() argument 21 u8 perm = POR_ELx_IDX(por, pkey); in por_elx_allows_write() 26 static inline bool por_elx_allows_exec(u64 por, u8 pkey) in por_elx_allows_exec() argument 28 u8 perm = POR_ELx_IDX(por, pkey); in por_elx_allows_exec()
|
| A D | mman.h | 14 unsigned long pkey) in arch_calc_vm_prot_bits() argument 26 ret |= pkey & BIT(0) ? VM_PKEY_BIT0 : 0; in arch_calc_vm_prot_bits() 27 ret |= pkey & BIT(1) ? VM_PKEY_BIT1 : 0; in arch_calc_vm_prot_bits() 28 ret |= pkey & BIT(2) ? VM_PKEY_BIT2 : 0; in arch_calc_vm_prot_bits() 34 #define arch_calc_vm_prot_bits(prot, pkey) arch_calc_vm_prot_bits(prot, pkey) argument
|
| /linux/arch/x86/include/asm/ |
| A D | pkeys.h | 34 int prot, int pkey); 36 int prot, int pkey) in arch_override_mprotect_pkey() argument 47 #define mm_set_pkey_allocated(mm, pkey) do { \ argument 48 mm_pkey_allocation_map(mm) |= (1U << pkey); \ 50 #define mm_set_pkey_free(mm, pkey) do { \ argument 51 mm_pkey_allocation_map(mm) &= ~(1U << pkey); \ 62 if (pkey < 0) in mm_pkey_is_allocated() 64 if (pkey >= arch_max_pkey()) in mm_pkey_is_allocated() 71 if (pkey == mm->context.execute_only_pkey) in mm_pkey_is_allocated() 110 if (!mm_pkey_is_allocated(mm, pkey)) in mm_pkey_free() [all …]
|
| /linux/drivers/infiniband/core/ |
| A D | security.c | 61 return pkey; in get_pkey_idx_qp_list() 96 pkey); in enforce_qp_pkey_security() 115 u16 pkey; in check_qp_port_pkey_settings() local 123 &pkey, in check_qp_port_pkey_settings() 137 &pkey, in check_qp_port_pkey_settings() 258 if (!pkey) { in port_pkey_list_insert() 261 pkey = kzalloc(sizeof(*pkey), GFP_KERNEL); in port_pkey_list_insert() 262 if (!pkey) in port_pkey_list_insert() 273 kfree(pkey); in port_pkey_list_insert() 566 kfree(pkey); in ib_security_release_port_pkey_list() [all …]
|
| /linux/tools/testing/selftests/powerpc/mm/ |
| A D | pkey_exec_prot.c | 106 int pkey, ret, i; in test() local 155 pkey = sys_pkey_alloc(0, rights); in test() 156 FAIL_IF(pkey < 0); in test() 205 fault_pkey = pkey; in test() 217 pkey_set_rights(pkey, rights); in test() 234 pkey_set_rights(pkey, rights); in test() 241 sys_pkey_free(pkey); in test() 249 pkey = sys_pkey_alloc(0, rights); in test() 250 FAIL_IF(pkey < 0); in test() 262 fault_pkey = pkey; in test() [all …]
|
| /linux/arch/powerpc/mm/book3s64/ |
| A D | pkeys.c | 49 #define pkeyshift(pkey) (PKEY_REG_BITS - ((pkey+1) * AMR_BITS_PER_PKEY)) argument 315 static inline void init_amr(int pkey, u8 init_bits) in init_amr() argument 323 static inline void init_iamr(int pkey, u8 init_bits) in init_iamr() argument 348 pkey_bits = 0x3ul << pkeyshift(pkey); in __arch_set_user_pkey_access() 362 init_iamr(pkey, new_iamr_bits); in __arch_set_user_pkey_access() 370 init_amr(pkey, new_amr_bits); in __arch_set_user_pkey_access() 392 int pkey) in __arch_override_mprotect_pkey() argument 406 pkey = execute_only_pkey(vma->vm_mm); in __arch_override_mprotect_pkey() 407 if (pkey > 0) in __arch_override_mprotect_pkey() 408 return pkey; in __arch_override_mprotect_pkey() [all …]
|
| /linux/tools/testing/selftests/powerpc/include/ |
| A D | pkeys.h | 52 void pkey_set_rights(int pkey, unsigned long rights) in pkey_set_rights() argument 56 shift = (NR_PKEYS - pkey - 1) * PKEY_BITS_PER_PKEY; in pkey_set_rights() 63 int sys_pkey_mprotect(void *addr, size_t len, int prot, int pkey) in sys_pkey_mprotect() argument 65 return syscall(__NR_pkey_mprotect, addr, len, prot, pkey); in sys_pkey_mprotect() 73 int sys_pkey_free(int pkey) in sys_pkey_free() argument 75 return syscall(__NR_pkey_free, pkey); in sys_pkey_free() 81 int pkey; in pkeys_unsupported() local 88 pkey = sys_pkey_alloc(0, 0); in pkeys_unsupported() 89 SKIP_IF(pkey < 0); in pkeys_unsupported() 90 sys_pkey_free(pkey); in pkeys_unsupported()
|
| /linux/Documentation/translations/zh_CN/core-api/ |
| A D | protection-keys.rst | 46 int pkey_free(int pkey); 48 unsigned long prot, int pkey); 50 在使用一个pkey之前,必须先用pkey_alloc()分配它。一个应用程序直接调用 55 pkey = pkey_alloc(0, PKEY_DISABLE_WRITE); 57 ret = pkey_mprotect(ptr, PAGE_SIZE, real_prot, pkey); 63 pkey_set(pkey, 0); // clear PKEY_DISABLE_WRITE 65 pkey_set(pkey, PKEY_DISABLE_WRITE); // set PKEY_DISABLE_WRITE again 67 现在,当它释放内存时,它也将释放pkey,因为它不再被使用了:: 70 pkey_free(pkey); 85 pkey = pkey_alloc(0, PKEY_DISABLE_WRITE | PKEY_DISABLE_READ); [all …]
|
| /linux/drivers/infiniband/ulp/ipoib/ |
| A D | ipoib_vlan.c | 73 if (ppriv->pkey == priv->pkey) in is_child_unique() 77 if (tpriv->pkey == priv->pkey && in is_child_unique() 95 u16 pkey, int type) in __ipoib_vlan_add() argument 115 if (pkey == 0 || pkey == 0x8000) { in __ipoib_vlan_add() 123 priv->pkey = pkey; in __ipoib_vlan_add() 167 int ipoib_vlan_add(struct net_device *pdev, unsigned short pkey) in ipoib_vlan_add() argument 192 pkey); in ipoib_vlan_add() 203 result = __ipoib_vlan_add(ppriv, priv, pkey, IPOIB_LEGACY_CHILD); in ipoib_vlan_add() 251 int ipoib_vlan_delete(struct net_device *pdev, unsigned short pkey) in ipoib_vlan_delete() argument 271 if (priv->pkey == pkey && in ipoib_vlan_delete()
|
| /linux/drivers/s390/crypto/ |
| A D | Makefile | 17 pkey-objs := pkey_base.o pkey_api.o pkey_sysfs.o 18 obj-$(CONFIG_PKEY) += pkey.o 21 pkey-cca-objs := pkey_cca.o 22 obj-$(CONFIG_PKEY_CCA) += pkey-cca.o 25 pkey-ep11-objs := pkey_ep11.o 26 obj-$(CONFIG_PKEY_EP11) += pkey-ep11.o 29 pkey-pckmo-objs := pkey_pckmo.o 30 obj-$(CONFIG_PKEY_PCKMO) += pkey-pckmo.o
|
| /linux/arch/x86/mm/ |
| A D | pkeys.c | 76 int __arch_override_mprotect_pkey(struct vm_area_struct *vma, int prot, int pkey) in __arch_override_mprotect_pkey() argument 82 if (pkey != -1) in __arch_override_mprotect_pkey() 83 return pkey; in __arch_override_mprotect_pkey() 92 pkey = execute_only_pkey(vma->vm_mm); in __arch_override_mprotect_pkey() 93 if (pkey > 0) in __arch_override_mprotect_pkey() 94 return pkey; in __arch_override_mprotect_pkey() 113 #define PKRU_AD_MASK(pkey) (PKRU_AD_BIT << ((pkey) * PKRU_BITS_PER_PKEY)) argument
|
| /linux/include/net/ |
| A D | neighbour.h | 205 __u32 (*hash)(const void *pkey, 213 int (*is_multicast)(const void *pkey); 287 const u32 *p32 = pkey; in neigh_key_eq128() 296 __u32 (*hash)(const void *pkey, in ___neigh_lookup_noref() argument 299 const void *pkey, in ___neigh_lookup_noref() 310 if (n->dev == dev && key_eq(n, pkey)) in ___neigh_lookup_noref() 318 const void *pkey, in __neigh_lookup_noref() argument 342 const void *pkey, in neigh_create() argument 345 return __neigh_create(tbl, pkey, dev, true); in neigh_create() 553 n = neigh_create(tbl, pkey, dev); in __neigh_lookup() [all …]
|
| /linux/include/linux/ |
| A D | pkeys.h | 14 #define arch_override_mprotect_pkey(vma, prot, pkey) (0) argument 23 static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey) in mm_pkey_is_allocated() argument 25 return (pkey == 0); in mm_pkey_is_allocated() 33 static inline int mm_pkey_free(struct mm_struct *mm, int pkey) in mm_pkey_free() argument 38 static inline int arch_set_user_pkey_access(struct task_struct *tsk, int pkey, in arch_set_user_pkey_access() argument
|
| /linux/drivers/infiniband/hw/hfi1/ |
| A D | ud.c | 70 u16 pkey; in ud_loopback() local 80 hfi1_bad_pkey(ibp, pkey, in ud_loopback() 247 bth0 |= *pkey; in hfi1_make_bth_deth() 265 u16 len, slid, dlid, pkey; in hfi1_make_ud_req_9B() local 343 u16 len, pkey; in hfi1_make_ud_req_16B() local 560 if (pkey == FULL_MGMT_P_KEY || pkey == LIM_MGMT_P_KEY) { in hfi1_lookup_pkey_idx() 565 if (ppd->pkeys[i] == pkey) in hfi1_lookup_pkey_idx() 572 if (pkey == FULL_MGMT_P_KEY) in hfi1_lookup_pkey_idx() 780 if (pkey != FULL_MGMT_P_KEY) { in opa_smp_check() 813 u16 pkey; in hfi1_ud_rcv() local [all …]
|
| /linux/crypto/ |
| A D | rsa.c | 123 const struct rsa_mpi_key *pkey = rsa_get_key(tfm); in rsa_enc() local 131 if (unlikely(!pkey->n || !pkey->e)) { in rsa_enc() 141 ret = _rsa_enc(pkey, c, m); in rsa_enc() 162 const struct rsa_mpi_key *pkey = rsa_get_key(tfm); in rsa_dec() local 170 if (unlikely(!pkey->n || !pkey->d)) { in rsa_dec() 180 ret = _rsa_dec_crt(pkey, m, c); in rsa_dec() 373 struct rsa_mpi_key *pkey = akcipher_tfm_ctx(tfm); in rsa_max_size() local 375 return mpi_get_size(pkey->n); in rsa_max_size() 380 struct rsa_mpi_key *pkey = akcipher_tfm_ctx(tfm); in rsa_exit_tfm() local 382 rsa_free_mpi_key(pkey); in rsa_exit_tfm()
|