Home
last modified time | relevance | path

Searched refs:pkey (Results 1 – 25 of 150) sorted by relevance

123456

/linux/arch/powerpc/include/asm/
H A Dpkeys.h33 static inline u64 pkey_to_vmflag_bits(u16 pkey) in pkey_to_vmflag_bits() argument
35 return (((u64)pkey << VM_PKEY_SHIFT) & ARCH_VM_PKEY_FLAGS); in pkey_to_vmflag_bits()
50 #define pkey_alloc_mask(pkey) (0x1 << pkey) argument
54 #define __mm_pkey_allocated(mm, pkey) { \ argument
55 mm_pkey_allocation_map(mm) |= pkey_alloc_mask(pkey); \
58 #define __mm_pkey_free(mm, pkey) { \ argument
59 mm_pkey_allocation_map(mm) &= ~pkey_alloc_mask(pkey); \
62 #define __mm_pkey_is_allocated(mm, pkey) \ argument
63 (mm_pkey_allocation_map(mm) & pkey_alloc_mask(pkey))
65 #define __mm_pkey_is_reserved(pkey) (reserved_allocation_mask & \ argument
[all …]
H A Dmman.h18 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/security/selinux/
H A Dibpkey.c55 static unsigned int sel_ib_pkey_hashfn(u16 pkey) in sel_ib_pkey_hashfn() argument
57 return (pkey & (SEL_PKEY_HASH_SIZE - 1)); in sel_ib_pkey_hashfn()
73 struct sel_ib_pkey *pkey; in sel_ib_pkey_find() local
76 list_for_each_entry_rcu(pkey, &sel_ib_pkey_hash[idx].list, list) { in sel_ib_pkey_find()
77 if (pkey->psec.pkey == pkey_num && in sel_ib_pkey_find()
78 pkey->psec.subnet_prefix == subnet_prefix) in sel_ib_pkey_find()
79 return pkey; in sel_ib_pkey_find()
93 static void sel_ib_pkey_insert(struct sel_ib_pkey *pkey) in sel_ib_pkey_insert() argument
100 idx = sel_ib_pkey_hashfn(pkey->psec.pkey); in sel_ib_pkey_insert()
101 list_add_rcu(&pkey->list, &sel_ib_pkey_hash[idx].list); in sel_ib_pkey_insert()
[all …]
/linux/tools/testing/selftests/mm/
H A Dprotection_keys.c184 static u32 hw_pkey_get(int pkey, unsigned long flags) in hw_pkey_get() argument
189 __func__, pkey, flags, 0, 0); in hw_pkey_get()
192 return (u32) get_pkey_bits(pkey_reg, pkey); in hw_pkey_get()
195 static int hw_pkey_set(int pkey, unsigned long rights, unsigned long flags) in hw_pkey_set() argument
205 new_pkey_reg = set_pkey_bits(old_pkey_reg, pkey, rights); in hw_pkey_set()
211 __func__, pkey, rights, flags, 0, __read_pkey_reg(), in hw_pkey_set()
216 static void pkey_disable_set(int pkey, int flags) in pkey_disable_set() argument
223 pkey, flags); in pkey_disable_set()
226 pkey_rights = hw_pkey_get(pkey, syscall_flags); in pkey_disable_set()
229 pkey, pkey, pkey_rights); in pkey_disable_set()
[all …]
H A Dpkey-powerpc.h26 #define NR_RESERVED_PKEYS_4K 27 /* pkey-0, pkey-1, exec-only-pkey
29 #define NR_RESERVED_PKEYS_64K_3KEYS 3 /* PowerNV and KVM: pkey-0,
30 pkey-1 and exec-only key */
31 #define NR_RESERVED_PKEYS_64K_4KEYS 4 /* PowerVM: pkey-0, pkey-1,
32 pkey-31 and exec-only key */
37 static inline u32 pkey_bit_position(int pkey) in pkey_bit_position() argument
39 return (NR_PKEYS - pkey in pkey_bit_position()
94 expect_fault_on_read_execonly_key(void * p1,int pkey) expect_fault_on_read_execonly_key() argument
108 malloc_pkey_with_mprotect_subpage(long size,int prot,u16 pkey) malloc_pkey_with_mprotect_subpage() argument
[all...]
/linux/arch/arm64/include/asm/
H A Dpkeys.h15 int arch_set_user_pkey_access(struct task_struct *tsk, int pkey,
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); \
51 static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey) in mm_pkey_is_allocated() argument
58 if (pkey < 0 || pkey >= arch_max_pkey()) in mm_pkey_is_allocated()
[all …]
H A Dpor.h12 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()
H A Dmman.h15 unsigned long pkey) in arch_calc_vm_prot_bits() argument
27 ret |= pkey & BIT(0) ? VM_PKEY_BIT0 : 0; in arch_calc_vm_prot_bits()
28 ret |= pkey & BIT(1) ? VM_PKEY_BIT1 : 0; in arch_calc_vm_prot_bits()
29 ret |= pkey & BIT(2) ? VM_PKEY_BIT2 : 0; in arch_calc_vm_prot_bits()
35 #define arch_calc_vm_prot_bits(prot, pkey) arch_calc_vm_prot_bits(prot, pkey) argument
/linux/arch/x86/include/asm/
H A Dpkeys.h12 extern int arch_set_user_pkey_access(struct task_struct *tsk, int pkey,
34 int prot, int pkey);
36 int prot, int pkey) in arch_override_mprotect_pkey() argument
41 return __arch_override_mprotect_pkey(vma, prot, pkey); in arch_override_mprotect_pkey()
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); \
55 bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey) in mm_pkey_is_allocated() argument
62 if (pkey < 0) in mm_pkey_is_allocated()
[all …]
H A Dpkru.h19 static inline bool __pkru_allows_read(u32 pkru, u16 pkey) in __pkru_allows_read() argument
21 int pkru_pkey_bits = pkey * PKRU_BITS_PER_PKEY; in __pkru_allows_read()
25 static inline bool __pkru_allows_write(u32 pkru, u16 pkey) in __pkru_allows_write() argument
27 int pkru_pkey_bits = pkey * PKRU_BITS_PER_PKEY; in __pkru_allows_write()
/linux/drivers/infiniband/core/
H A Dsecurity.c48 struct pkey_index_qp_list *pkey = NULL; in get_pkey_idx_qp_list() local
56 pkey = tmp_pkey; in get_pkey_idx_qp_list()
61 return pkey; in get_pkey_idx_qp_list()
65 u16 *pkey, in get_pkey_and_subnet_prefix() argument
71 ret = ib_get_cached_pkey(dev, pp->port_num, pp->pkey_index, pkey); in get_pkey_and_subnet_prefix()
80 static int enforce_qp_pkey_security(u16 pkey, in enforce_qp_pkey_security() argument
87 ret = security_ib_pkey_access(qp_sec->security, subnet_prefix, pkey); in enforce_qp_pkey_security()
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()
[all …]
/linux/tools/testing/selftests/powerpc/mm/
H A Dpkey_exec_prot.c106 int pkey, ret, i; in test() local
155 pkey = sys_pkey_alloc(0, rights); in test()
156 FAIL_IF(pkey < 0); in test()
179 FAIL_IF(sys_pkey_mprotect(insns, pgsize, PROT_EXEC, pkey) != 0); in test()
196 FAIL_IF(sys_pkey_mprotect(insns, pgsize, PROT_EXEC, pkey) != 0); in test()
205 fault_pkey = pkey; in test()
216 FAIL_IF(sys_pkey_mprotect(insns, pgsize, PROT_EXEC, pkey) != 0); in test()
217 pkey_set_rights(pkey, rights); in test()
233 FAIL_IF(sys_pkey_mprotect(insns, pgsize, PROT_EXEC, pkey) != 0); in test()
234 pkey_set_rights(pkey, rights); in test()
[all …]
/linux/drivers/s390/crypto/
H A DMakefile17 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
33 pkey-uv-objs := pkey_uv.o
34 obj-$(CONFIG_PKEY_UV) += pkey-uv.o
/linux/arch/powerpc/mm/book3s64/
H A Dpkeys.c49 #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
317 u64 new_amr_bits = (((u64)init_bits & 0x3UL) << pkeyshift(pkey)); in init_amr()
318 u64 old_amr = current_thread_amr() & ~((u64)(0x3ul) << pkeyshift(pkey)); in init_amr()
323 static inline void init_iamr(int pkey, u8 init_bits) in init_iamr() argument
325 u64 new_iamr_bits = (((u64)init_bits & 0x1UL) << pkeyshift(pkey)); in init_iamr()
326 u64 old_iamr = current_thread_iamr() & ~((u64)(0x1ul) << pkeyshift(pkey)); in init_iamr()
338 int __arch_set_user_pkey_access(struct task_struct *tsk, int pkey, in __arch_set_user_pkey_access() 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()
[all …]
/linux/drivers/infiniband/ulp/ipoib/
H A Dipoib_vlan.c73 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/tools/testing/selftests/powerpc/include/
H A Dpkeys.h48 #define pkeyshift(pkey) (PKEY_REG_BITS - ((pkey + 1) * AMR_BITS_PER_PKEY)) in pkeyreg_set()
60 void pkey_set_rights(int pkey, unsigned long rights) in pkey_set_rights()
64 shift = (NR_PKEYS - pkey - 1) * PKEY_BITS_PER_PKEY; in sys_pkey_mprotect()
71 int sys_pkey_mprotect(void *addr, size_t len, int prot, int pkey) in sys_pkey_alloc()
73 return syscall(__NR_pkey_mprotect, addr, len, prot, pkey); in sys_pkey_free() argument
81 int sys_pkey_free(int pkey) in pkeys_unsupported() local
83 return syscall(__NR_pkey_free, pkey); in pkeys_unsupported()
89 int pkey; in pkeys_unsupported()
96 pkey in siginfo_pkey()
52 pkey_set_rights(int pkey,unsigned long rights) pkey_set_rights() argument
63 sys_pkey_mprotect(void * addr,size_t len,int prot,int pkey) sys_pkey_mprotect() argument
[all...]
/linux/Documentation/translations/zh_CN/core-api/
H A Dprotection-keys.rst46 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/crypto/asymmetric_keys/
H A Drestrict.c135 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()
145 if (!test_bit(KEY_EFLAG_KEYCERTSIGN, &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()
[all …]
/linux/arch/x86/mm/
H A Dpkeys.c76 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/drivers/infiniband/hw/hfi1/
H A Dud.c70 u16 pkey; in ud_loopback() local
74 pkey = hfi1_get_pkey(ibp, sqp->s_pkey_index); in ud_loopback()
77 if (unlikely(ingress_pkey_check(ppd, pkey, sc5, in ud_loopback()
80 hfi1_bad_pkey(ibp, pkey, in ud_loopback()
226 u16 *pkey, u32 extra_bytes, bool bypass) in hfi1_make_bth_deth() argument
243 *pkey = hfi1_get_pkey(ibp, rvt_get_swqe_pkey_index(wqe)); in hfi1_make_bth_deth()
245 *pkey = hfi1_get_pkey(ibp, qp->s_pkey_index); in hfi1_make_bth_deth()
247 bth0 |= *pkey; in hfi1_make_bth_deth()
265 u16 len, slid, dlid, pkey; in hfi1_make_ud_req_9B() local
323 hfi1_make_bth_deth(qp, wqe, ohdr, &pkey, extra_bytes, false); in hfi1_make_ud_req_9B()
[all …]
/linux/include/linux/
H A Dpkeys.h14 #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/Documentation/core-api/
H A Dprotection-keys.rst56 int pkey_free(int pkey);
58 unsigned long prot, int pkey);
60 Before a pkey can be used, it must first be allocated with pkey_alloc(). An
67 pkey = pkey_alloc(0, PKEY_DISABLE_WRITE);
69 ret = pkey_mprotect(ptr, PAGE_SIZE, real_prot, pkey);
75 pkey_set(pkey, 0); // clear PKEY_DISABLE_WRITE
77 pkey_set(pkey, PKEY_DISABLE_WRITE); // set PKEY_DISABLE_WRITE again
79 Now when it frees the memory, it will also free the pkey since it
83 pkey_free(pkey);
87 tools/testing/selftests/mm/pkey-{arm64,powerpc,x86}.h
[all …]
/linux/crypto/
H A Drsa.c123 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()
/linux/lib/
H A Ddigsig.c78 MPI in = NULL, res = NULL, pkey[2]; in digsig_verify_rsa() local
112 pkey[i] = mpi_read_from_buffer(datap, &remaining); in digsig_verify_rsa()
113 if (IS_ERR(pkey[i])) { in digsig_verify_rsa()
114 err = PTR_ERR(pkey[i]); in digsig_verify_rsa()
120 mblen = mpi_get_nbits(pkey[0]); in digsig_verify_rsa()
145 err = mpi_powm(res, in, pkey[1], pkey[0]); in digsig_verify_rsa()
177 mpi_free(pkey[i]); in digsig_verify_rsa()
/linux/include/net/
H A Dndisc.h356 static inline u32 ndisc_hashfn(const void *pkey, const struct net_device *dev, __u32 *hash_rnd) in ndisc_hashfn() argument
358 const u32 *p32 = pkey; in ndisc_hashfn()
366 static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey) in __ipv6_neigh_lookup_noref() argument
368 return ___neigh_lookup_noref(&nd_tbl, neigh_key_eq128, ndisc_hashfn, pkey, dev); in __ipv6_neigh_lookup_noref()
373 const void *pkey) in __ipv6_neigh_lookup_noref_stub() argument
376 ndisc_hashfn, pkey, dev); in __ipv6_neigh_lookup_noref_stub()
379 static inline struct neighbour *__ipv6_neigh_lookup(struct net_device *dev, const void *pkey) in __ipv6_neigh_lookup() argument
384 n = __ipv6_neigh_lookup_noref(dev, pkey); in __ipv6_neigh_lookup()
393 const void *pkey) in __ipv6_confirm_neigh() argument
398 n = __ipv6_neigh_lookup_noref(dev, pkey); in __ipv6_confirm_neigh()
[all …]

123456