SELinux: turn mount options strings into defines
PATCH 1/2 SELinux: turn mount options strings into defines
Convert the strings used for mount options into #defines rather than retyping the string throughout the SELinux code.
---
security/selinux/hooks.c | 16 ++++++++--------
security/selinux/include/security.h | 5 +++++ 2 files changed, 13 insertions(+), 8 deletions(-)
security/selinux/hooks.c +8 -8
@@ -324,10 +324,10 @@ enum { };static match_table_t tokens = { - {Opt_context,"context=%s" }, - {Opt_fscontext,"fscontext=%s" }, - {Opt_defcontext,"defcontext=%s" }, - {Opt_rootcontext,"rootcontext=%s" }, + {Opt_context,CONTEXT_STR "%s" }, + {Opt_fscontext,FSCONTEXT_STR "%s" }, + {Opt_defcontext,DEFCONTEXT_STR "%s" }, + {Opt_rootcontext,ROOTCONTEXT_STR "%s" }, {Opt_error,NULL }, };
@@ -2232,10 +2232,10 @@ static inline int match_prefix(char *prefix, int plen, char *option, int olen)static inline int selinux_option (char *option,int len) { -return (match_prefix ("context=" ,sizeof ("context=" )-1 , option, len) || -match_prefix ("fscontext=" ,sizeof ("fscontext=" )-1 , option, len) || -match_prefix ("defcontext=" ,sizeof ("defcontext=" )-1 , option, len) || -match_prefix ("rootcontext=" ,sizeof ("rootcontext=" )-1 , option, len)); +return (match_prefix (CONTEXT_STR ,sizeof (CONTEXT_STR )-1 , option, len) || +match_prefix (FSCONTEXT_STR ,sizeof (FSCONTEXT_STR )-1 , option, len) || +match_prefix (DEFCONTEXT_STR ,sizeof (DEFCONTEXT_STR )-1 , option, len) || +match_prefix (ROOTCONTEXT_STR ,sizeof (ROOTCONTEXT_STR )-1 , option, len)); }static inline void take_option (char **to,char *from,int *first,int len)
security/selinux/include/security.h +5 -0
@@ -40,6 +40,11 @@#define ROOTCONTEXT_MNT 0x04#define DEFCONTEXT_MNT 0x08 +#define CONTEXT_STR "context=" +#define FSCONTEXT_STR "fscontext=" +#define ROOTCONTEXT_STR "rootcontext=" +#define DEFCONTEXT_STR "defcontext=" +struct netlbl_lsm_secattr ;extern int selinux_enabled;
--
This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.
Quoted 4 lines · Eric Paris
Convert the strings used for mount options into #defines rather than retyping the string throughout the SELinux code.
Signed-off-by Eric Paris <[email protected]>
Possibly as a follow up, one could simplify or wrap the match_prefix() interface to be a macro that only required the string to be specified once to avoid inconsistency in the prefix and plen arguments.
Quoted 58 lines
---
security/selinux/hooks.c| 16 ++++++++--------security/selinux/include/security.h | 5 +++++ 2 files changed, 13 insertions(+), 8 deletions(-)security/selinux/hooks.c +8
-8@@ -324,10 +324,10 @@ enum { };static match_table_t tokens = { - {Opt_context,"context=%s" }, - {Opt_fscontext,"fscontext=%s" }, - {Opt_defcontext,"defcontext=%s" }, - {Opt_rootcontext,"rootcontext=%s" }, + {Opt_context,CONTEXT_STR "%s" }, + {Opt_fscontext,FSCONTEXT_STR "%s" }, + {Opt_defcontext,DEFCONTEXT_STR "%s" }, + {Opt_rootcontext,ROOTCONTEXT_STR "%s" }, {Opt_error,NULL }, };@@ -2232,10 +2232,10 @@ static inline int match_prefix(char *prefix, int plen, char *option, int olen)static inline int selinux_option (char *option,int len) { -return (match_prefix ("context=" ,sizeof ("context=" )-1 , option, len) || -match_prefix ("fscontext=" ,sizeof ("fscontext=" )-1 , option, len) || -match_prefix ("defcontext=" ,sizeof ("defcontext=" )-1 , option, len) || -match_prefix ("rootcontext=" ,sizeof ("rootcontext=" )-1 , option, len)); +return (match_prefix (CONTEXT_STR ,sizeof (CONTEXT_STR )-1 , option, len) || +match_prefix (FSCONTEXT_STR ,sizeof (FSCONTEXT_STR )-1 , option, len) || +match_prefix (DEFCONTEXT_STR ,sizeof (DEFCONTEXT_STR )-1 , option, len) || +match_prefix (ROOTCONTEXT_STR ,sizeof (ROOTCONTEXT_STR )-1 , option, len)); }static inline void take_option (char **to,char *from,int *first,int len)security/selinux/include/security.h +5
-0@@ -40,6 +40,11 @@#define ROOTCONTEXT_MNT 0x04#define DEFCONTEXT_MNT 0x08 +#define CONTEXT_STR "context=" +#define FSCONTEXT_STR "fscontext=" +#define ROOTCONTEXT_STR "rootcontext=" +#define DEFCONTEXT_STR "defcontext=" +struct netlbl_lsm_secattr ;extern int selinux_enabled;
Signature · 8 lines
Stephen Smalley National Security Agency -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.
Quoted 8 lines · Stephen Smalley
Quoted 4 lines · Eric Paris
Convert the strings used for mount options into #defines rather than retyping the string throughout the SELinux code.
Signed-off-by Eric Paris <[email protected]>Acked-by Stephen Smalley <[email protected]>
Applied togit://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6.git#for-akpm
Quoted 64 lines
Possibly as a follow up, one could simplify or wrap the
match_prefix()interface to be a macro that only required the string to be specified once to avoid inconsistency in the prefix and plen arguments.Quoted 58 lines
---
security/selinux/hooks.c| 16 ++++++++--------security/selinux/include/security.h | 5 +++++ 2 files changed, 13 insertions(+), 8 deletions(-)security/selinux/hooks.c +8
-8@@ -324,10 +324,10 @@ enum { };static match_table_t tokens = { - {Opt_context,"context=%s" }, - {Opt_fscontext,"fscontext=%s" }, - {Opt_defcontext,"defcontext=%s" }, - {Opt_rootcontext,"rootcontext=%s" }, + {Opt_context,CONTEXT_STR "%s" }, + {Opt_fscontext,FSCONTEXT_STR "%s" }, + {Opt_defcontext,DEFCONTEXT_STR "%s" }, + {Opt_rootcontext,ROOTCONTEXT_STR "%s" }, {Opt_error,NULL }, };@@ -2232,10 +2232,10 @@ static inline int match_prefix(char *prefix, int plen, char *option, int olen)static inline int selinux_option (char *option,int len) { -return (match_prefix ("context=" ,sizeof ("context=" )-1 , option, len) || -match_prefix ("fscontext=" ,sizeof ("fscontext=" )-1 , option, len) || -match_prefix ("defcontext=" ,sizeof ("defcontext=" )-1 , option, len) || -match_prefix ("rootcontext=" ,sizeof ("rootcontext=" )-1 , option, len)); +return (match_prefix (CONTEXT_STR ,sizeof (CONTEXT_STR )-1 , option, len) || +match_prefix (FSCONTEXT_STR ,sizeof (FSCONTEXT_STR )-1 , option, len) || +match_prefix (DEFCONTEXT_STR ,sizeof (DEFCONTEXT_STR )-1 , option, len) || +match_prefix (ROOTCONTEXT_STR ,sizeof (ROOTCONTEXT_STR )-1 , option, len)); }static inline void take_option (char **to,char *from,int *first,int len)security/selinux/include/security.h +5
-0@@ -40,6 +40,11 @@#define ROOTCONTEXT_MNT 0x04#define DEFCONTEXT_MNT 0x08 +#define CONTEXT_STR "context=" +#define FSCONTEXT_STR "fscontext=" +#define ROOTCONTEXT_STR "rootcontext=" +#define DEFCONTEXT_STR "defcontext=" +struct netlbl_lsm_secattr ;extern int selinux_enabled;
Signature · 7 lines
James Morris <[email protected]> -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.