~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/security/selinux/ss/mls.h

Version: ~ [ linux-5.10-rc5 ] ~ [ linux-5.9.10 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.79 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.159 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.208 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.245 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.245 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Multi-level security (MLS) policy operations.
  3  *
  4  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  5  */
  6 /*
  7  * Updated: Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com>
  8  *
  9  *      Support for enhanced MLS infrastructure.
 10  *
 11  * Copyright (C) 2004-2006 Trusted Computer Solutions, Inc.
 12  */
 13 /*
 14  * Updated: Hewlett-Packard <paul@paul-moore.com>
 15  *
 16  *      Added support to import/export the MLS label from NetLabel
 17  *
 18  * (c) Copyright Hewlett-Packard Development Company, L.P., 2006
 19  */
 20 
 21 #ifndef _SS_MLS_H_
 22 #define _SS_MLS_H_
 23 
 24 #include "context.h"
 25 #include "policydb.h"
 26 
 27 int mls_compute_context_len(struct context *context);
 28 void mls_sid_to_context(struct context *context, char **scontext);
 29 int mls_context_isvalid(struct policydb *p, struct context *c);
 30 int mls_range_isvalid(struct policydb *p, struct mls_range *r);
 31 int mls_level_isvalid(struct policydb *p, struct mls_level *l);
 32 
 33 int mls_context_to_sid(struct policydb *p,
 34                        char oldc,
 35                        char **scontext,
 36                        struct context *context,
 37                        struct sidtab *s,
 38                        u32 def_sid);
 39 
 40 int mls_from_string(char *str, struct context *context, gfp_t gfp_mask);
 41 
 42 int mls_range_set(struct context *context, struct mls_range *range);
 43 
 44 int mls_convert_context(struct policydb *oldp,
 45                         struct policydb *newp,
 46                         struct context *context);
 47 
 48 int mls_compute_sid(struct context *scontext,
 49                     struct context *tcontext,
 50                     u16 tclass,
 51                     u32 specified,
 52                     struct context *newcontext,
 53                     bool sock);
 54 
 55 int mls_setup_user_range(struct context *fromcon, struct user_datum *user,
 56                          struct context *usercon);
 57 
 58 #ifdef CONFIG_NETLABEL
 59 void mls_export_netlbl_lvl(struct context *context,
 60                            struct netlbl_lsm_secattr *secattr);
 61 void mls_import_netlbl_lvl(struct context *context,
 62                            struct netlbl_lsm_secattr *secattr);
 63 int mls_export_netlbl_cat(struct context *context,
 64                           struct netlbl_lsm_secattr *secattr);
 65 int mls_import_netlbl_cat(struct context *context,
 66                           struct netlbl_lsm_secattr *secattr);
 67 #else
 68 static inline void mls_export_netlbl_lvl(struct context *context,
 69                                          struct netlbl_lsm_secattr *secattr)
 70 {
 71         return;
 72 }
 73 static inline void mls_import_netlbl_lvl(struct context *context,
 74                                          struct netlbl_lsm_secattr *secattr)
 75 {
 76         return;
 77 }
 78 static inline int mls_export_netlbl_cat(struct context *context,
 79                                         struct netlbl_lsm_secattr *secattr)
 80 {
 81         return -ENOMEM;
 82 }
 83 static inline int mls_import_netlbl_cat(struct context *context,
 84                                         struct netlbl_lsm_secattr *secattr)
 85 {
 86         return -ENOMEM;
 87 }
 88 #endif
 89 
 90 #endif  /* _SS_MLS_H */
 91 
 92 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp