Home
last modified time | relevance | path

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

123456789

/openbmc/linux/arch/powerpc/include/asm/
H A Dpkeys.h50 #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 …]
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
/openbmc/linux/crypto/asymmetric_keys/
H A Dpublic_key.c89 pkey->pkey_algo); in software_key_determine_akcipher()
174 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen, in software_key_query()
179 memcpy(key, pkey->key, pkey->keylen); in software_key_query()
183 memcpy(ptr, pkey->params, pkey->paramlen); in software_key_query()
293 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen, in software_key_eds_op()
298 memcpy(key, pkey->key, pkey->keylen); in software_key_eds_op()
302 memcpy(ptr, pkey->params, pkey->paramlen); in software_key_eds_op()
390 BUG_ON(!pkey); in public_key_verify_signature()
419 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen, in public_key_verify_signature()
426 memcpy(key, pkey->key, pkey->keylen); in public_key_verify_signature()
[all …]
H A Drestrict.c131 const struct public_key *pkey; in restrict_link_by_ca() local
136 pkey = payload->data[asym_crypto]; in restrict_link_by_ca()
137 if (!pkey) in restrict_link_by_ca()
139 if (!test_bit(KEY_EFLAG_CA, &pkey->key_eflags)) in restrict_link_by_ca()
145 if (test_bit(KEY_EFLAG_DIGITALSIG, &pkey->key_eflags)) in restrict_link_by_ca()
172 const struct public_key *pkey; in restrict_link_by_digsig() local
177 pkey = payload->data[asym_crypto]; in restrict_link_by_digsig()
179 if (!pkey) in restrict_link_by_digsig()
182 if (!test_bit(KEY_EFLAG_DIGITALSIG, &pkey->key_eflags)) in restrict_link_by_digsig()
185 if (test_bit(KEY_EFLAG_CA, &pkey->key_eflags)) in restrict_link_by_digsig()
[all …]
/openbmc/linux/security/selinux/
H A Dibpkey.c73 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 …]
/openbmc/linux/tools/testing/selftests/mm/
H A Dprotection_keys.c218 pkey, flags); in pkey_disable_set()
224 pkey, pkey, pkey_rights); in pkey_disable_set()
241 pkey, pkey, pkey_rights); in pkey_disable_set()
248 pkey, flags); in pkey_disable_set()
261 pkey, pkey, pkey_rights); in pkey_disable_clear()
272 pkey, pkey, pkey_rights); in pkey_disable_clear()
1038 u16 pkey) in test_read_of_access_disabled_region_with_page_already_mapped() argument
1043 pkey, ptr); in test_read_of_access_disabled_region_with_page_already_mapped()
1055 u16 pkey) in test_write_of_write_disabled_region_with_page_already_mapped() argument
1081 u16 pkey) in test_write_of_access_disabled_region_with_page_already_mapped() argument
[all …]
H A Dpkey-powerpc.h34 static inline u32 pkey_bit_position(int pkey) in pkey_bit_position() argument
36 return (NR_PKEYS - pkey - 1) * PKEY_BITS_PER_PKEY; in pkey_bit_position()
91 void expect_fault_on_read_execonly_key(void *p1, int pkey) in expect_fault_on_read_execonly_key() argument
105 void *malloc_pkey_with_mprotect_subpage(long size, int prot, u16 pkey) in malloc_pkey_with_mprotect_subpage() argument
111 size, prot, pkey); in malloc_pkey_with_mprotect_subpage()
112 pkey_assert(pkey < NR_PKEYS); in malloc_pkey_with_mprotect_subpage()
122 ret = mprotect_pkey((void *)ptr, PAGE_SIZE, prot, pkey); in malloc_pkey_with_mprotect_subpage()
126 dprintf1("%s() for pkey %d @ %p\n", __func__, pkey, ptr); in malloc_pkey_with_mprotect_subpage()
H A Dpkey-helpers.h83 void expected_pkey_fault(int pkey);
85 int sys_pkey_free(unsigned long pkey);
87 unsigned long pkey);
100 static inline u64 set_pkey_bits(u64 reg, int pkey, u64 flags) in set_pkey_bits() argument
102 u32 shift = pkey_bit_position(pkey); in set_pkey_bits()
110 static inline u64 get_pkey_bits(u64 reg, int pkey) in get_pkey_bits() argument
112 u32 shift = pkey_bit_position(pkey); in get_pkey_bits()
152 static inline void __pkey_access_allow(int pkey, int do_allow) in __pkey_access_allow() argument
155 int bit = pkey * 2; in __pkey_access_allow()
166 static inline void __pkey_write_allow(int pkey, int do_allow_write) in __pkey_write_allow() argument
[all …]
H A Dpkey-x86.h101 static inline u32 pkey_bit_position(int pkey) in pkey_bit_position() argument
103 return pkey * PKEY_BITS_PER_PKEY; in pkey_bit_position()
145 void expect_fault_on_read_execonly_key(void *p1, int pkey) in expect_fault_on_read_execonly_key() argument
151 expected_pkey_fault(pkey); in expect_fault_on_read_execonly_key()
154 void *malloc_pkey_with_mprotect_subpage(long size, int prot, u16 pkey) in malloc_pkey_with_mprotect_subpage() argument
/openbmc/linux/arch/x86/include/asm/
H A Dpkeys.h34 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 …]
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()
/openbmc/linux/drivers/infiniband/core/
H A Dsecurity.c61 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 …]
/openbmc/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()
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 …]
/openbmc/linux/tools/testing/selftests/powerpc/include/
H A Dpkeys.h52 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()
/openbmc/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 …]
/openbmc/linux/arch/powerpc/mm/book3s64/
H A Dpkeys.c49 #define pkeyshift(pkey) (PKEY_REG_BITS - ((pkey+1) * AMR_BITS_PER_PKEY)) argument
314 static inline void init_amr(int pkey, u8 init_bits) in init_amr() argument
322 static inline void init_iamr(int pkey, u8 init_bits) in init_iamr() argument
347 pkey_bits = 0x3ul << pkeyshift(pkey); in __arch_set_user_pkey_access()
361 init_iamr(pkey, new_iamr_bits); in __arch_set_user_pkey_access()
369 init_amr(pkey, new_amr_bits); in __arch_set_user_pkey_access()
391 int pkey) in __arch_override_mprotect_pkey() argument
405 pkey = execute_only_pkey(vma->vm_mm); in __arch_override_mprotect_pkey()
406 if (pkey > 0) in __arch_override_mprotect_pkey()
407 return pkey; in __arch_override_mprotect_pkey()
[all …]
/openbmc/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()
/openbmc/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
/openbmc/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
/openbmc/linux/include/net/
H A Dneighbour.h205 __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 …]
H A Dndisc.h371 static inline u32 ndisc_hashfn(const void *pkey, const struct net_device *dev, __u32 *hash_rnd) in ndisc_hashfn() argument
373 const u32 *p32 = pkey; in ndisc_hashfn()
383 return ___neigh_lookup_noref(&nd_tbl, neigh_key_eq128, ndisc_hashfn, pkey, dev); in __ipv6_neigh_lookup_noref()
388 const void *pkey) in __ipv6_neigh_lookup_noref_stub() argument
391 ndisc_hashfn, pkey, dev); in __ipv6_neigh_lookup_noref_stub()
394 static inline struct neighbour *__ipv6_neigh_lookup(struct net_device *dev, const void *pkey) in __ipv6_neigh_lookup() argument
399 n = __ipv6_neigh_lookup_noref(dev, pkey); in __ipv6_neigh_lookup()
408 const void *pkey) in __ipv6_confirm_neigh() argument
413 n = __ipv6_neigh_lookup_noref(dev, pkey); in __ipv6_confirm_neigh()
419 const void *pkey) in __ipv6_confirm_neigh_stub() argument
[all …]
/openbmc/linux/drivers/infiniband/hw/hfi1/
H A Dud.c70 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 …]
/openbmc/linux/Documentation/core-api/
H A Dprotection-keys.rst37 int pkey_free(int pkey);
39 unsigned long prot, int pkey);
41 Before a pkey can be used, it must first be allocated with
49 pkey = pkey_alloc(0, PKEY_DISABLE_WRITE);
51 ret = pkey_mprotect(ptr, PAGE_SIZE, real_prot, pkey);
57 pkey_set(pkey, 0); // clear PKEY_DISABLE_WRITE
59 pkey_set(pkey, PKEY_DISABLE_WRITE); // set PKEY_DISABLE_WRITE again
61 Now when it frees the memory, it will also free the pkey since it
65 pkey_free(pkey);
82 pkey = pkey_alloc(0, PKEY_DISABLE_WRITE | PKEY_DISABLE_READ);
[all …]
/openbmc/linux/crypto/
H A Drsa.c96 const struct rsa_mpi_key *pkey = rsa_get_key(tfm); in rsa_enc() local
104 if (unlikely(!pkey->n || !pkey->e)) { in rsa_enc()
114 ret = _rsa_enc(pkey, c, m); in rsa_enc()
135 const struct rsa_mpi_key *pkey = rsa_get_key(tfm); in rsa_dec() local
143 if (unlikely(!pkey->n || !pkey->d)) { in rsa_dec()
153 ret = _rsa_dec_crt(pkey, m, c); in rsa_dec()
340 struct rsa_mpi_key *pkey = akcipher_tfm_ctx(tfm); in rsa_max_size() local
342 return mpi_get_size(pkey->n); in rsa_max_size()
347 struct rsa_mpi_key *pkey = akcipher_tfm_ctx(tfm); in rsa_exit_tfm() local
349 rsa_free_mpi_key(pkey); in rsa_exit_tfm()
/openbmc/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()

123456789