|
@@ -1202,6 +1202,10 @@ struct request_sock;
|
|
|
* Convert secid to security context.
|
|
|
* @secid contains the security ID.
|
|
|
* @secdata contains the pointer that stores the converted security context.
|
|
|
+ * @secctx_to_secid:
|
|
|
+ * Convert security context to secid.
|
|
|
+ * @secid contains the pointer to the generated security ID.
|
|
|
+ * @secdata contains the security context.
|
|
|
*
|
|
|
* @release_secctx:
|
|
|
* Release the security context.
|
|
@@ -1396,6 +1400,7 @@ struct security_operations {
|
|
|
int (*getprocattr)(struct task_struct *p, char *name, char **value);
|
|
|
int (*setprocattr)(struct task_struct *p, char *name, void *value, size_t size);
|
|
|
int (*secid_to_secctx)(u32 secid, char **secdata, u32 *seclen);
|
|
|
+ int (*secctx_to_secid)(char *secdata, u32 seclen, u32 *secid);
|
|
|
void (*release_secctx)(char *secdata, u32 seclen);
|
|
|
|
|
|
#ifdef CONFIG_SECURITY_NETWORK
|
|
@@ -1634,6 +1639,7 @@ int security_setprocattr(struct task_struct *p, char *name, void *value, size_t
|
|
|
int security_netlink_send(struct sock *sk, struct sk_buff *skb);
|
|
|
int security_netlink_recv(struct sk_buff *skb, int cap);
|
|
|
int security_secid_to_secctx(u32 secid, char **secdata, u32 *seclen);
|
|
|
+int security_secctx_to_secid(char *secdata, u32 seclen, u32 *secid);
|
|
|
void security_release_secctx(char *secdata, u32 seclen);
|
|
|
|
|
|
#else /* CONFIG_SECURITY */
|
|
@@ -2308,6 +2314,13 @@ static inline int security_secid_to_secctx(u32 secid, char **secdata, u32 *secle
|
|
|
return -EOPNOTSUPP;
|
|
|
}
|
|
|
|
|
|
+static inline int security_secctx_to_secid(char *secdata,
|
|
|
+ u32 seclen,
|
|
|
+ u32 *secid)
|
|
|
+{
|
|
|
+ return -EOPNOTSUPP;
|
|
|
+}
|
|
|
+
|
|
|
static inline void security_release_secctx(char *secdata, u32 seclen)
|
|
|
{
|
|
|
}
|