Bug Summary

File:home/bhubbard/working/src/ceph/src/mount/mount.ceph.c
Warning:line 249, column 4
Value stored to 'pos' is never read

Annotated Source Code

[?] Use j/k keys for keyboard navigation

1#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4#include <errno(*__errno_location ()).h>
5#include <sys/mount.h>
6
7#include "common/module.h"
8#include "common/secret.h"
9#include "include/addr_parsing.h"
10
11#ifndef MS_RELATIMEMS_RELATIME
12# define MS_RELATIMEMS_RELATIME (1<<21)
13#endif
14
15#define MAX_SECRET_LEN1000 1000
16#define MAX_SECRET_OPTION_LEN(1000 + 7) (MAX_SECRET_LEN1000 + 7)
17
18int verboseflag = 0;
19int skip_mtab_flag = 0;
20static const char * const EMPTY_STRING = "";
21
22/* TODO duplicates logic from kernel */
23#define CEPH_AUTH_NAME_DEFAULT"guest" "guest"
24
25#include "mtab.c"
26
27static void block_signals (int how)
28{
29 sigset_t sigs;
30
31 sigfillset (&sigs);
32 sigdelset(&sigs, SIGTRAP5);
33 sigdelset(&sigs, SIGSEGV11);
34 sigprocmask (how, &sigs, (sigset_t *) 0);
35}
36
37static char *mount_resolve_src(const char *orig_str)
38{
39 int len, pos;
40 char *mount_path;
41 char *src;
42 char *buf = strdup(orig_str)(__extension__ (__builtin_constant_p (orig_str) && ((
size_t)(const void *)((orig_str) + 1) - (size_t)(const void *
)(orig_str) == 1) ? (((const char *) (orig_str))[0] == '\0' ?
(char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len =
strlen (orig_str) + 1; char *__retval = (char *) malloc (__len
); if (__retval != ((void*)0)) __retval = (char *) memcpy (__retval
, orig_str, __len); __retval; })) : __strdup (orig_str)))
;
43 if (!buf) {
44 fprintf(stderr, "%s: failed to allocate memory\n", __func__)__fprintf_chk (stderr, 2 - 1, "%s: failed to allocate memory\n"
, __func__)
;
45 return NULL((void*)0);
46 }
47
48 mount_path = strstr(buf, ":/");
49 if (!mount_path) {
50 printf("source mount path was not specified\n")__printf_chk (2 - 1, "source mount path was not specified\n");
51 free(buf);
52 return NULL((void*)0);
53 }
54 if (mount_path == buf) {
55 printf("server address expected\n")__printf_chk (2 - 1, "server address expected\n");
56 free(buf);
57 return NULL((void*)0);
58 }
59
60 *mount_path = '\0';
61 mount_path++;
62
63 if (!*mount_path) {
64 printf("incorrect source mount path\n")__printf_chk (2 - 1, "incorrect source mount path\n");
65 free(buf);
66 return NULL((void*)0);
67 }
68
69 src = resolve_addrs(buf);
70 if (!src) {
71 free(buf);
72 return NULL((void*)0);
73 }
74
75 len = strlen(src);
76 pos = safe_cat(&src, &len, len, ":");
77 safe_cat(&src, &len, pos, mount_path);
78
79 free(buf);
80 return src;
81}
82
83/*
84 * this one is partially based on parse_options() from cifs.mount.c
85 */
86static char *parse_options(const char *data, int *filesys_flags)
87{
88 char * next_keyword = NULL((void*)0);
89 char * out = NULL((void*)0);
90 int out_len = 0;
91 int pos = 0;
92 char *name = NULL((void*)0);
93 int name_len = 0;
94 int name_pos = 0;
95 char secret[MAX_SECRET_LEN1000];
96 char *saw_name = NULL((void*)0);
97 char *saw_secret = NULL((void*)0);
98
99 if(verboseflag)
100 printf("parsing options: %s\n", data)__printf_chk (2 - 1, "parsing options: %s\n", data);
101
102 do {
103 char * value = NULL((void*)0);
104 /* check if ends with trailing comma */
105 if(*data == 0)
106 break;
107 next_keyword = strchr(data,',')(__extension__ (__builtin_constant_p (',') && !__builtin_constant_p
(data) && (',') == '\0' ? (char *) __rawmemchr (data
, ',') : __builtin_strchr (data, ',')))
;
108
109 /* temporarily null terminate end of keyword=value pair */
110 if(next_keyword)
111 *next_keyword++ = 0;
112
113 /* temporarily null terminate keyword to make keyword and value distinct */
114 if ((value = strchr(data, '=')(__extension__ (__builtin_constant_p ('=') && !__builtin_constant_p
(data) && ('=') == '\0' ? (char *) __rawmemchr (data
, '=') : __builtin_strchr (data, '=')))
) != NULL((void*)0)) {
115 *value = '\0';
116 value++;
117 }
118
119 int skip = 1;
120
121 if (strncmp(data, "ro", 2)(__extension__ (__builtin_constant_p (2) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (2))) || (__builtin_constant_p
("ro") && strlen ("ro") < ((size_t) (2)))) ? __extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) &&
__builtin_constant_p ("ro") && (__s1_len = __builtin_strlen
(data), __s2_len = __builtin_strlen ("ro"), (!((size_t)(const
void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len
>= 4) && (!((size_t)(const void *)(("ro") + 1) - (
size_t)(const void *)("ro") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "ro") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("ro") && ((size_t)(const
void *)(("ro") + 1) - (size_t)(const void *)("ro") == 1) ? __builtin_strcmp
(data, "ro") : (__extension__ ({ const unsigned char *__s2 =
(const unsigned char *) (const char *) ("ro"); int __result =
(((const unsigned char *) (const char *) (data))[0] - __s2[0
]); if (__s1_len > 0 && __result == 0) { __result =
(((const unsigned char *) (const char *) (data))[1] - __s2[1
]); if (__s1_len > 1 && __result == 0) { __result =
(((const unsigned char *) (const char *) (data))[2] - __s2[2
]); if (__s1_len > 2 && __result == 0) __result = (
((const unsigned char *) (const char *) (data))[3] - __s2[3])
; } } __result; }))) : (__builtin_constant_p ("ro") &&
((size_t)(const void *)(("ro") + 1) - (size_t)(const void *)
("ro") == 1) && (__s2_len = __builtin_strlen ("ro"), __s2_len
< 4) ? (__builtin_constant_p (data) && ((size_t)(
const void *)((data) + 1) - (size_t)(const void *)(data) == 1
) ? __builtin_strcmp (data, "ro") : (- (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
(data); int __result = (((const unsigned char *) (const char
*) ("ro"))[0] - __s2[0]); if (__s2_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"ro"))[1] - __s2[1]); if (__s2_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"ro"))[2] - __s2[2]); if (__s2_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) ("ro"
))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data
, "ro")))); }) : strncmp (data, "ro", 2)))
== 0) {
122 *filesys_flags |= MS_RDONLYMS_RDONLY;
123 } else if (strncmp(data, "rw", 2)(__extension__ (__builtin_constant_p (2) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (2))) || (__builtin_constant_p
("rw") && strlen ("rw") < ((size_t) (2)))) ? __extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) &&
__builtin_constant_p ("rw") && (__s1_len = __builtin_strlen
(data), __s2_len = __builtin_strlen ("rw"), (!((size_t)(const
void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len
>= 4) && (!((size_t)(const void *)(("rw") + 1) - (
size_t)(const void *)("rw") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "rw") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("rw") && ((size_t)(const
void *)(("rw") + 1) - (size_t)(const void *)("rw") == 1) ? __builtin_strcmp
(data, "rw") : (__extension__ ({ const unsigned char *__s2 =
(const unsigned char *) (const char *) ("rw"); int __result =
(((const unsigned char *) (const char *) (data))[0] - __s2[0
]); if (__s1_len > 0 && __result == 0) { __result =
(((const unsigned char *) (const char *) (data))[1] - __s2[1
]); if (__s1_len > 1 && __result == 0) { __result =
(((const unsigned char *) (const char *) (data))[2] - __s2[2
]); if (__s1_len > 2 && __result == 0) __result = (
((const unsigned char *) (const char *) (data))[3] - __s2[3])
; } } __result; }))) : (__builtin_constant_p ("rw") &&
((size_t)(const void *)(("rw") + 1) - (size_t)(const void *)
("rw") == 1) && (__s2_len = __builtin_strlen ("rw"), __s2_len
< 4) ? (__builtin_constant_p (data) && ((size_t)(
const void *)((data) + 1) - (size_t)(const void *)(data) == 1
) ? __builtin_strcmp (data, "rw") : (- (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
(data); int __result = (((const unsigned char *) (const char
*) ("rw"))[0] - __s2[0]); if (__s2_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"rw"))[1] - __s2[1]); if (__s2_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"rw"))[2] - __s2[2]); if (__s2_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) ("rw"
))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data
, "rw")))); }) : strncmp (data, "rw", 2)))
== 0) {
124 *filesys_flags &= ~MS_RDONLYMS_RDONLY;
125 } else if (strncmp(data, "nosuid", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p
("nosuid") && strlen ("nosuid") < ((size_t) (6)))
) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("nosuid") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("nosuid"), (!((size_t)(const void *)((data) + 1) - (size_t)
(const void *)(data) == 1) || __s1_len >= 4) && (!
((size_t)(const void *)(("nosuid") + 1) - (size_t)(const void
*)("nosuid") == 1) || __s2_len >= 4)) ? __builtin_strcmp (
data, "nosuid") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("nosuid") && ((size_t)(const
void *)(("nosuid") + 1) - (size_t)(const void *)("nosuid") ==
1) ? __builtin_strcmp (data, "nosuid") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("nosuid"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"nosuid") && ((size_t)(const void *)(("nosuid") + 1) -
(size_t)(const void *)("nosuid") == 1) && (__s2_len =
__builtin_strlen ("nosuid"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "nosuid"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("nosuid"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("nosuid"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("nosuid"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("nosuid"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "nosuid")))); }) : strncmp (
data, "nosuid", 6)))
== 0) {
126 *filesys_flags |= MS_NOSUIDMS_NOSUID;
127 } else if (strncmp(data, "suid", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p
("suid") && strlen ("suid") < ((size_t) (4)))) ? __extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) &&
__builtin_constant_p ("suid") && (__s1_len = __builtin_strlen
(data), __s2_len = __builtin_strlen ("suid"), (!((size_t)(const
void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len
>= 4) && (!((size_t)(const void *)(("suid") + 1) -
(size_t)(const void *)("suid") == 1) || __s2_len >= 4)) ?
__builtin_strcmp (data, "suid") : (__builtin_constant_p (data
) && ((size_t)(const void *)((data) + 1) - (size_t)(const
void *)(data) == 1) && (__s1_len = __builtin_strlen (
data), __s1_len < 4) ? (__builtin_constant_p ("suid") &&
((size_t)(const void *)(("suid") + 1) - (size_t)(const void *
)("suid") == 1) ? __builtin_strcmp (data, "suid") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("suid"); int __result = (((const unsigned char *) (
const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("suid") && ((size_t)(const void *)(("suid") + 1) - (
size_t)(const void *)("suid") == 1) && (__s2_len = __builtin_strlen
("suid"), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "suid") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("suid"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("suid"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("suid"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("suid"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "suid")))); }) : strncmp (data, "suid", 4)))
== 0) {
128 *filesys_flags &= ~MS_NOSUIDMS_NOSUID;
129 } else if (strncmp(data, "dev", 3)(__extension__ (__builtin_constant_p (3) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (3))) || (__builtin_constant_p
("dev") && strlen ("dev") < ((size_t) (3)))) ? __extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) &&
__builtin_constant_p ("dev") && (__s1_len = __builtin_strlen
(data), __s2_len = __builtin_strlen ("dev"), (!((size_t)(const
void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len
>= 4) && (!((size_t)(const void *)(("dev") + 1) -
(size_t)(const void *)("dev") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "dev") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("dev") && ((size_t)(const
void *)(("dev") + 1) - (size_t)(const void *)("dev") == 1) ?
__builtin_strcmp (data, "dev") : (__extension__ ({ const unsigned
char *__s2 = (const unsigned char *) (const char *) ("dev");
int __result = (((const unsigned char *) (const char *) (data
))[0] - __s2[0]); if (__s1_len > 0 && __result == 0
) { __result = (((const unsigned char *) (const char *) (data
))[1] - __s2[1]); if (__s1_len > 1 && __result == 0
) { __result = (((const unsigned char *) (const char *) (data
))[2] - __s2[2]); if (__s1_len > 2 && __result == 0
) __result = (((const unsigned char *) (const char *) (data))
[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("dev"
) && ((size_t)(const void *)(("dev") + 1) - (size_t)(
const void *)("dev") == 1) && (__s2_len = __builtin_strlen
("dev"), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "dev") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("dev"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("dev"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("dev"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("dev"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "dev")))); }) : strncmp (data, "dev", 3)))
== 0) {
130 *filesys_flags &= ~MS_NODEVMS_NODEV;
131 } else if (strncmp(data, "nodev", 5)(__extension__ (__builtin_constant_p (5) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (5))) || (__builtin_constant_p
("nodev") && strlen ("nodev") < ((size_t) (5)))) ?
__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("nodev") && (
__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("nodev"), (!((size_t)(const void *)((data) + 1) - (size_t)(
const void *)(data) == 1) || __s1_len >= 4) && (!(
(size_t)(const void *)(("nodev") + 1) - (size_t)(const void *
)("nodev") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data
, "nodev") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("nodev") && ((size_t)(const
void *)(("nodev") + 1) - (size_t)(const void *)("nodev") == 1
) ? __builtin_strcmp (data, "nodev") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("nodev"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"nodev") && ((size_t)(const void *)(("nodev") + 1) - (
size_t)(const void *)("nodev") == 1) && (__s2_len = __builtin_strlen
("nodev"), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "nodev") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("nodev"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("nodev"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("nodev"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("nodev"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "nodev")))); }) : strncmp (data, "nodev", 5)))
== 0) {
132 *filesys_flags |= MS_NODEVMS_NODEV;
133 } else if (strncmp(data, "noexec", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p
("noexec") && strlen ("noexec") < ((size_t) (6)))
) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("noexec") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("noexec"), (!((size_t)(const void *)((data) + 1) - (size_t)
(const void *)(data) == 1) || __s1_len >= 4) && (!
((size_t)(const void *)(("noexec") + 1) - (size_t)(const void
*)("noexec") == 1) || __s2_len >= 4)) ? __builtin_strcmp (
data, "noexec") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("noexec") && ((size_t)(const
void *)(("noexec") + 1) - (size_t)(const void *)("noexec") ==
1) ? __builtin_strcmp (data, "noexec") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("noexec"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"noexec") && ((size_t)(const void *)(("noexec") + 1) -
(size_t)(const void *)("noexec") == 1) && (__s2_len =
__builtin_strlen ("noexec"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "noexec"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("noexec"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("noexec"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("noexec"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("noexec"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "noexec")))); }) : strncmp (
data, "noexec", 6)))
== 0) {
134 *filesys_flags |= MS_NOEXECMS_NOEXEC;
135 } else if (strncmp(data, "exec", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p
("exec") && strlen ("exec") < ((size_t) (4)))) ? __extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) &&
__builtin_constant_p ("exec") && (__s1_len = __builtin_strlen
(data), __s2_len = __builtin_strlen ("exec"), (!((size_t)(const
void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len
>= 4) && (!((size_t)(const void *)(("exec") + 1) -
(size_t)(const void *)("exec") == 1) || __s2_len >= 4)) ?
__builtin_strcmp (data, "exec") : (__builtin_constant_p (data
) && ((size_t)(const void *)((data) + 1) - (size_t)(const
void *)(data) == 1) && (__s1_len = __builtin_strlen (
data), __s1_len < 4) ? (__builtin_constant_p ("exec") &&
((size_t)(const void *)(("exec") + 1) - (size_t)(const void *
)("exec") == 1) ? __builtin_strcmp (data, "exec") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("exec"); int __result = (((const unsigned char *) (
const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("exec") && ((size_t)(const void *)(("exec") + 1) - (
size_t)(const void *)("exec") == 1) && (__s2_len = __builtin_strlen
("exec"), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "exec") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("exec"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("exec"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("exec"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("exec"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "exec")))); }) : strncmp (data, "exec", 4)))
== 0) {
136 *filesys_flags &= ~MS_NOEXECMS_NOEXEC;
137 } else if (strncmp(data, "sync", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p
("sync") && strlen ("sync") < ((size_t) (4)))) ? __extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) &&
__builtin_constant_p ("sync") && (__s1_len = __builtin_strlen
(data), __s2_len = __builtin_strlen ("sync"), (!((size_t)(const
void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len
>= 4) && (!((size_t)(const void *)(("sync") + 1) -
(size_t)(const void *)("sync") == 1) || __s2_len >= 4)) ?
__builtin_strcmp (data, "sync") : (__builtin_constant_p (data
) && ((size_t)(const void *)((data) + 1) - (size_t)(const
void *)(data) == 1) && (__s1_len = __builtin_strlen (
data), __s1_len < 4) ? (__builtin_constant_p ("sync") &&
((size_t)(const void *)(("sync") + 1) - (size_t)(const void *
)("sync") == 1) ? __builtin_strcmp (data, "sync") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("sync"); int __result = (((const unsigned char *) (
const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("sync") && ((size_t)(const void *)(("sync") + 1) - (
size_t)(const void *)("sync") == 1) && (__s2_len = __builtin_strlen
("sync"), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "sync") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("sync"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("sync"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("sync"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("sync"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "sync")))); }) : strncmp (data, "sync", 4)))
== 0) {
138 *filesys_flags |= MS_SYNCHRONOUSMS_SYNCHRONOUS;
139 } else if (strncmp(data, "remount", 7)(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (7))) || (__builtin_constant_p
("remount") && strlen ("remount") < ((size_t) (7)
))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("remount") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("remount"), (!((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("remount") + 1) - (size_t)(const void
*)("remount") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "remount") : (__builtin_constant_p (data) && (
(size_t)(const void *)((data) + 1) - (size_t)(const void *)(data
) == 1) && (__s1_len = __builtin_strlen (data), __s1_len
< 4) ? (__builtin_constant_p ("remount") && ((size_t
)(const void *)(("remount") + 1) - (size_t)(const void *)("remount"
) == 1) ? __builtin_strcmp (data, "remount") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("remount"); int __result = (((const unsigned char *
) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("remount") && ((size_t)(const void *)(("remount") +
1) - (size_t)(const void *)("remount") == 1) && (__s2_len
= __builtin_strlen ("remount"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "remount"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("remount"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("remount"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("remount"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("remount"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "remount")))); }) : strncmp
(data, "remount", 7)))
== 0) {
140 *filesys_flags |= MS_REMOUNTMS_REMOUNT;
141 } else if (strncmp(data, "mandlock", 8)(__extension__ (__builtin_constant_p (8) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (8))) || (__builtin_constant_p
("mandlock") && strlen ("mandlock") < ((size_t) (
8)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("mandlock") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("mandlock"), (!((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("mandlock") + 1) - (size_t)(const void
*)("mandlock") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "mandlock") : (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len
< 4) ? (__builtin_constant_p ("mandlock") && ((size_t
)(const void *)(("mandlock") + 1) - (size_t)(const void *)("mandlock"
) == 1) ? __builtin_strcmp (data, "mandlock") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("mandlock"); int __result = (((const unsigned char *
) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("mandlock") && ((size_t)(const void *)(("mandlock")
+ 1) - (size_t)(const void *)("mandlock") == 1) && (
__s2_len = __builtin_strlen ("mandlock"), __s2_len < 4) ? (
__builtin_constant_p (data) && ((size_t)(const void *
)((data) + 1) - (size_t)(const void *)(data) == 1) ? __builtin_strcmp
(data, "mandlock") : (- (__extension__ ({ const unsigned char
*__s2 = (const unsigned char *) (const char *) (data); int __result
= (((const unsigned char *) (const char *) ("mandlock"))[0] -
__s2[0]); if (__s2_len > 0 && __result == 0) { __result
= (((const unsigned char *) (const char *) ("mandlock"))[1] -
__s2[1]); if (__s2_len > 1 && __result == 0) { __result
= (((const unsigned char *) (const char *) ("mandlock"))[2] -
__s2[2]); if (__s2_len > 2 && __result == 0) __result
= (((const unsigned char *) (const char *) ("mandlock"))[3] -
__s2[3]); } } __result; })))) : __builtin_strcmp (data, "mandlock"
)))); }) : strncmp (data, "mandlock", 8)))
== 0) {
142 *filesys_flags |= MS_MANDLOCKMS_MANDLOCK;
143 } else if ((strncmp(data, "nobrl", 5)(__extension__ (__builtin_constant_p (5) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (5))) || (__builtin_constant_p
("nobrl") && strlen ("nobrl") < ((size_t) (5)))) ?
__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("nobrl") && (
__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("nobrl"), (!((size_t)(const void *)((data) + 1) - (size_t)(
const void *)(data) == 1) || __s1_len >= 4) && (!(
(size_t)(const void *)(("nobrl") + 1) - (size_t)(const void *
)("nobrl") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data
, "nobrl") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("nobrl") && ((size_t)(const
void *)(("nobrl") + 1) - (size_t)(const void *)("nobrl") == 1
) ? __builtin_strcmp (data, "nobrl") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("nobrl"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"nobrl") && ((size_t)(const void *)(("nobrl") + 1) - (
size_t)(const void *)("nobrl") == 1) && (__s2_len = __builtin_strlen
("nobrl"), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "nobrl") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("nobrl"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("nobrl"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("nobrl"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("nobrl"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "nobrl")))); }) : strncmp (data, "nobrl", 5)))
== 0) ||
144 (strncmp(data, "nolock", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p
("nolock") && strlen ("nolock") < ((size_t) (6)))
) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("nolock") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("nolock"), (!((size_t)(const void *)((data) + 1) - (size_t)
(const void *)(data) == 1) || __s1_len >= 4) && (!
((size_t)(const void *)(("nolock") + 1) - (size_t)(const void
*)("nolock") == 1) || __s2_len >= 4)) ? __builtin_strcmp (
data, "nolock") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("nolock") && ((size_t)(const
void *)(("nolock") + 1) - (size_t)(const void *)("nolock") ==
1) ? __builtin_strcmp (data, "nolock") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("nolock"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"nolock") && ((size_t)(const void *)(("nolock") + 1) -
(size_t)(const void *)("nolock") == 1) && (__s2_len =
__builtin_strlen ("nolock"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "nolock"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("nolock"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("nolock"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("nolock"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("nolock"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "nolock")))); }) : strncmp (
data, "nolock", 6)))
== 0)) {
145 *filesys_flags &= ~MS_MANDLOCKMS_MANDLOCK;
146 } else if (strncmp(data, "noatime", 7)(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (7))) || (__builtin_constant_p
("noatime") && strlen ("noatime") < ((size_t) (7)
))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("noatime") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("noatime"), (!((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("noatime") + 1) - (size_t)(const void
*)("noatime") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "noatime") : (__builtin_constant_p (data) && (
(size_t)(const void *)((data) + 1) - (size_t)(const void *)(data
) == 1) && (__s1_len = __builtin_strlen (data), __s1_len
< 4) ? (__builtin_constant_p ("noatime") && ((size_t
)(const void *)(("noatime") + 1) - (size_t)(const void *)("noatime"
) == 1) ? __builtin_strcmp (data, "noatime") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("noatime"); int __result = (((const unsigned char *
) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("noatime") && ((size_t)(const void *)(("noatime") +
1) - (size_t)(const void *)("noatime") == 1) && (__s2_len
= __builtin_strlen ("noatime"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "noatime"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("noatime"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("noatime"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("noatime"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("noatime"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "noatime")))); }) : strncmp
(data, "noatime", 7)))
== 0) {
147 *filesys_flags |= MS_NOATIMEMS_NOATIME;
148 } else if (strncmp(data, "nodiratime", 10)(__extension__ (__builtin_constant_p (10) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (10))) || (__builtin_constant_p
("nodiratime") && strlen ("nodiratime") < ((size_t
) (10)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("nodiratime") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("nodiratime"), (!((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("nodiratime") + 1) - (size_t)(const
void *)("nodiratime") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "nodiratime") : (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len
< 4) ? (__builtin_constant_p ("nodiratime") && ((
size_t)(const void *)(("nodiratime") + 1) - (size_t)(const void
*)("nodiratime") == 1) ? __builtin_strcmp (data, "nodiratime"
) : (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) ("nodiratime"); int __result = (((const
unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) (data))[1] - __s2[1]); if (__s1_len >
1 && __result == 0) { __result = (((const unsigned char
*) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2
&& __result == 0) __result = (((const unsigned char *
) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (
__builtin_constant_p ("nodiratime") && ((size_t)(const
void *)(("nodiratime") + 1) - (size_t)(const void *)("nodiratime"
) == 1) && (__s2_len = __builtin_strlen ("nodiratime"
), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "nodiratime") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("nodiratime"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("nodiratime"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("nodiratime"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("nodiratime"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "nodiratime")))); }) : strncmp (data, "nodiratime", 10
)))
== 0) {
149 *filesys_flags |= MS_NODIRATIMEMS_NODIRATIME;
150 } else if (strncmp(data, "relatime", 8)(__extension__ (__builtin_constant_p (8) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (8))) || (__builtin_constant_p
("relatime") && strlen ("relatime") < ((size_t) (
8)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("relatime") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("relatime"), (!((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("relatime") + 1) - (size_t)(const void
*)("relatime") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "relatime") : (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len
< 4) ? (__builtin_constant_p ("relatime") && ((size_t
)(const void *)(("relatime") + 1) - (size_t)(const void *)("relatime"
) == 1) ? __builtin_strcmp (data, "relatime") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("relatime"); int __result = (((const unsigned char *
) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("relatime") && ((size_t)(const void *)(("relatime")
+ 1) - (size_t)(const void *)("relatime") == 1) && (
__s2_len = __builtin_strlen ("relatime"), __s2_len < 4) ? (
__builtin_constant_p (data) && ((size_t)(const void *
)((data) + 1) - (size_t)(const void *)(data) == 1) ? __builtin_strcmp
(data, "relatime") : (- (__extension__ ({ const unsigned char
*__s2 = (const unsigned char *) (const char *) (data); int __result
= (((const unsigned char *) (const char *) ("relatime"))[0] -
__s2[0]); if (__s2_len > 0 && __result == 0) { __result
= (((const unsigned char *) (const char *) ("relatime"))[1] -
__s2[1]); if (__s2_len > 1 && __result == 0) { __result
= (((const unsigned char *) (const char *) ("relatime"))[2] -
__s2[2]); if (__s2_len > 2 && __result == 0) __result
= (((const unsigned char *) (const char *) ("relatime"))[3] -
__s2[3]); } } __result; })))) : __builtin_strcmp (data, "relatime"
)))); }) : strncmp (data, "relatime", 8)))
== 0) {
151 *filesys_flags |= MS_RELATIMEMS_RELATIME;
152
153 } else if (strncmp(data, "noauto", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p
("noauto") && strlen ("noauto") < ((size_t) (6)))
) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("noauto") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("noauto"), (!((size_t)(const void *)((data) + 1) - (size_t)
(const void *)(data) == 1) || __s1_len >= 4) && (!
((size_t)(const void *)(("noauto") + 1) - (size_t)(const void
*)("noauto") == 1) || __s2_len >= 4)) ? __builtin_strcmp (
data, "noauto") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("noauto") && ((size_t)(const
void *)(("noauto") + 1) - (size_t)(const void *)("noauto") ==
1) ? __builtin_strcmp (data, "noauto") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("noauto"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"noauto") && ((size_t)(const void *)(("noauto") + 1) -
(size_t)(const void *)("noauto") == 1) && (__s2_len =
__builtin_strlen ("noauto"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "noauto"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("noauto"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("noauto"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("noauto"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("noauto"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "noauto")))); }) : strncmp (
data, "noauto", 6)))
== 0) {
154 skip = 1; /* ignore */
155 } else if (strncmp(data, "_netdev", 7)(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (7))) || (__builtin_constant_p
("_netdev") && strlen ("_netdev") < ((size_t) (7)
))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("_netdev") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("_netdev"), (!((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("_netdev") + 1) - (size_t)(const void
*)("_netdev") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "_netdev") : (__builtin_constant_p (data) && (
(size_t)(const void *)((data) + 1) - (size_t)(const void *)(data
) == 1) && (__s1_len = __builtin_strlen (data), __s1_len
< 4) ? (__builtin_constant_p ("_netdev") && ((size_t
)(const void *)(("_netdev") + 1) - (size_t)(const void *)("_netdev"
) == 1) ? __builtin_strcmp (data, "_netdev") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("_netdev"); int __result = (((const unsigned char *
) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("_netdev") && ((size_t)(const void *)(("_netdev") +
1) - (size_t)(const void *)("_netdev") == 1) && (__s2_len
= __builtin_strlen ("_netdev"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "_netdev"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("_netdev"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("_netdev"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("_netdev"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("_netdev"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "_netdev")))); }) : strncmp
(data, "_netdev", 7)))
== 0) {
156 skip = 1; /* ignore */
157 } else if (strncmp(data, "nofail", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p
("nofail") && strlen ("nofail") < ((size_t) (6)))
) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("nofail") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("nofail"), (!((size_t)(const void *)((data) + 1) - (size_t)
(const void *)(data) == 1) || __s1_len >= 4) && (!
((size_t)(const void *)(("nofail") + 1) - (size_t)(const void
*)("nofail") == 1) || __s2_len >= 4)) ? __builtin_strcmp (
data, "nofail") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("nofail") && ((size_t)(const
void *)(("nofail") + 1) - (size_t)(const void *)("nofail") ==
1) ? __builtin_strcmp (data, "nofail") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("nofail"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"nofail") && ((size_t)(const void *)(("nofail") + 1) -
(size_t)(const void *)("nofail") == 1) && (__s2_len =
__builtin_strlen ("nofail"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "nofail"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("nofail"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("nofail"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("nofail"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("nofail"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "nofail")))); }) : strncmp (
data, "nofail", 6)))
== 0) {
158 skip = 1; /* ignore */
159
160 } else if (strncmp(data, "secretfile", 10)(__extension__ (__builtin_constant_p (10) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (10))) || (__builtin_constant_p
("secretfile") && strlen ("secretfile") < ((size_t
) (10)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("secretfile") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("secretfile"), (!((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("secretfile") + 1) - (size_t)(const
void *)("secretfile") == 1) || __s2_len >= 4)) ? __builtin_strcmp
(data, "secretfile") : (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len
< 4) ? (__builtin_constant_p ("secretfile") && ((
size_t)(const void *)(("secretfile") + 1) - (size_t)(const void
*)("secretfile") == 1) ? __builtin_strcmp (data, "secretfile"
) : (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) ("secretfile"); int __result = (((const
unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) (data))[1] - __s2[1]); if (__s1_len >
1 && __result == 0) { __result = (((const unsigned char
*) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2
&& __result == 0) __result = (((const unsigned char *
) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (
__builtin_constant_p ("secretfile") && ((size_t)(const
void *)(("secretfile") + 1) - (size_t)(const void *)("secretfile"
) == 1) && (__s2_len = __builtin_strlen ("secretfile"
), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "secretfile") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("secretfile"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("secretfile"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("secretfile"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("secretfile"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "secretfile")))); }) : strncmp (data, "secretfile", 10
)))
== 0) {
161 if (!value || !*value) {
162 printf("keyword secretfile found, but no secret file specified\n")__printf_chk (2 - 1, "keyword secretfile found, but no secret file specified\n"
)
;
163 free(saw_name);
164 return NULL((void*)0);
165 }
166
167 if (read_secret_from_file(value, secret, sizeof(secret)) < 0) {
168 printf("error reading secret file\n")__printf_chk (2 - 1, "error reading secret file\n");
169 return NULL((void*)0);
170 }
171
172 /* see comment for "secret" */
173 saw_secret = secret;
174 skip = 1;
175 } else if (strncmp(data, "secret", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p
("secret") && strlen ("secret") < ((size_t) (6)))
) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(data) && __builtin_constant_p ("secret") &&
(__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen
("secret"), (!((size_t)(const void *)((data) + 1) - (size_t)
(const void *)(data) == 1) || __s1_len >= 4) && (!
((size_t)(const void *)(("secret") + 1) - (size_t)(const void
*)("secret") == 1) || __s2_len >= 4)) ? __builtin_strcmp (
data, "secret") : (__builtin_constant_p (data) && ((size_t
)(const void *)((data) + 1) - (size_t)(const void *)(data) ==
1) && (__s1_len = __builtin_strlen (data), __s1_len <
4) ? (__builtin_constant_p ("secret") && ((size_t)(const
void *)(("secret") + 1) - (size_t)(const void *)("secret") ==
1) ? __builtin_strcmp (data, "secret") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("secret"); int __result = (((const unsigned char *) (const char
*) (data))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
data))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (data
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
"secret") && ((size_t)(const void *)(("secret") + 1) -
(size_t)(const void *)("secret") == 1) && (__s2_len =
__builtin_strlen ("secret"), __s2_len < 4) ? (__builtin_constant_p
(data) && ((size_t)(const void *)((data) + 1) - (size_t
)(const void *)(data) == 1) ? __builtin_strcmp (data, "secret"
) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned
char *) (const char *) (data); int __result = (((const unsigned
char *) (const char *) ("secret"))[0] - __s2[0]); if (__s2_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("secret"))[1] - __s2[1]); if (__s2_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) ("secret"))[2] - __s2[2]); if (__s2_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) ("secret"))[3] - __s2[3]); } } __result
; })))) : __builtin_strcmp (data, "secret")))); }) : strncmp (
data, "secret", 6)))
== 0) {
176 if (!value || !*value) {
177 printf("mount option secret requires a value.\n")__printf_chk (2 - 1, "mount option secret requires a value.\n"
)
;
178 free(saw_name);
179 return NULL((void*)0);
180 }
181
182 /* secret is only added to kernel options as
183 backwards compatibility, if add_key doesn't
184 recognize our keytype; hence, it is skipped
185 here and appended to options on add_key
186 failure */
187 size_t len = sizeof(secret);
188 strncpy(secret, value, len-1);
189 secret[len-1] = '\0';
190 saw_secret = secret;
191 skip = 1;
192 } else if (strncmp(data, "name", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p
(data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p
("name") && strlen ("name") < ((size_t) (4)))) ? __extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) &&
__builtin_constant_p ("name") && (__s1_len = __builtin_strlen
(data), __s2_len = __builtin_strlen ("name"), (!((size_t)(const
void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len
>= 4) && (!((size_t)(const void *)(("name") + 1) -
(size_t)(const void *)("name") == 1) || __s2_len >= 4)) ?
__builtin_strcmp (data, "name") : (__builtin_constant_p (data
) && ((size_t)(const void *)((data) + 1) - (size_t)(const
void *)(data) == 1) && (__s1_len = __builtin_strlen (
data), __s1_len < 4) ? (__builtin_constant_p ("name") &&
((size_t)(const void *)(("name") + 1) - (size_t)(const void *
)("name") == 1) ? __builtin_strcmp (data, "name") : (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("name"); int __result = (((const unsigned char *) (
const char *) (data))[0] - __s2[0]); if (__s1_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[1] - __s2[1]); if (__s1_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (data))[2] - __s2[2]); if (__s1_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("name") && ((size_t)(const void *)(("name") + 1) - (
size_t)(const void *)("name") == 1) && (__s2_len = __builtin_strlen
("name"), __s2_len < 4) ? (__builtin_constant_p (data) &&
((size_t)(const void *)((data) + 1) - (size_t)(const void *)
(data) == 1) ? __builtin_strcmp (data, "name") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (data); int __result = (((const unsigned char *) (const
char *) ("name"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("name"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("name"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("name"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(data, "name")))); }) : strncmp (data, "name", 4)))
== 0) {
193 if (!value || !*value) {
194 printf("mount option name requires a value.\n")__printf_chk (2 - 1, "mount option name requires a value.\n");
195 return NULL((void*)0);
196 }
197
198 /* take a copy of the name, to be used for
199 naming the keys that we add to kernel; */
200 free(saw_name);
201 saw_name = strdup(value)(__extension__ (__builtin_constant_p (value) && ((size_t
)(const void *)((value) + 1) - (size_t)(const void *)(value) ==
1) ? (((const char *) (value))[0] == '\0' ? (char *) calloc (
(size_t) 1, (size_t) 1) : ({ size_t __len = strlen (value) + 1
; char *__retval = (char *) malloc (__len); if (__retval != (
(void*)0)) __retval = (char *) memcpy (__retval, value, __len
); __retval; })) : __strdup (value)))
;
202 if (!saw_name) {
203 printf("out of memory.\n")__printf_chk (2 - 1, "out of memory.\n");
204 return NULL((void*)0);
205 }
206 skip = 0;
207 } else {
208 skip = 0;
209 if (verboseflag) {
210 fprintf(stderr, "mount.ceph: unrecognized mount option \"%s\", "__fprintf_chk (stderr, 2 - 1, "mount.ceph: unrecognized mount option \"%s\", "
"passing to kernel.\n", data)
211 "passing to kernel.\n", data)__fprintf_chk (stderr, 2 - 1, "mount.ceph: unrecognized mount option \"%s\", "
"passing to kernel.\n", data)
;
212 }
213 }
214
215 /* Copy (possibly modified) option to out */
216 if (!skip) {
217 if (pos)
218 pos = safe_cat(&out, &out_len, pos, ",");
219
220 if (value) {
221 pos = safe_cat(&out, &out_len, pos, data);
222 pos = safe_cat(&out, &out_len, pos, "=");
223 pos = safe_cat(&out, &out_len, pos, value);
224 } else {
225 pos = safe_cat(&out, &out_len, pos, data);
226 }
227
228 }
229 data = next_keyword;
230 } while (data);
231
232 name_pos = safe_cat(&name, &name_len, name_pos, "client.");
233 if (!saw_name) {
234 name_pos = safe_cat(&name, &name_len, name_pos, CEPH_AUTH_NAME_DEFAULT"guest");
235 } else {
236 name_pos = safe_cat(&name, &name_len, name_pos, saw_name);
237 }
238 if (saw_secret || is_kernel_secret(name)) {
239 int ret;
240 char secret_option[MAX_SECRET_OPTION_LEN(1000 + 7)];
241 ret = get_secret_option(saw_secret, name, secret_option, sizeof(secret_option));
242 if (ret < 0) {
243 free(saw_name);
244 return NULL((void*)0);
245 } else {
246 if (pos) {
247 pos = safe_cat(&out, &out_len, pos, ",");
248 }
249 pos = safe_cat(&out, &out_len, pos, secret_option);
Value stored to 'pos' is never read
250 }
251 }
252
253 free(saw_name);
254 if (!out)
255 return strdup(EMPTY_STRING)(__extension__ (__builtin_constant_p (EMPTY_STRING) &&
((size_t)(const void *)((EMPTY_STRING) + 1) - (size_t)(const
void *)(EMPTY_STRING) == 1) ? (((const char *) (EMPTY_STRING
))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({
size_t __len = strlen (EMPTY_STRING) + 1; char *__retval = (
char *) malloc (__len); if (__retval != ((void*)0)) __retval =
(char *) memcpy (__retval, EMPTY_STRING, __len); __retval; }
)) : __strdup (EMPTY_STRING)))
;
256 return out;
257}
258
259
260static int parse_arguments(int argc, char *const *const argv,
261 const char **src, const char **node, const char **opts)
262{
263 int i;
264
265 if (argc < 2) {
266 // There were no arguments. Just show the usage.
267 return 1;
268 }
269 if ((!strcmp(argv[1], "-h")__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(argv[1]) && __builtin_constant_p ("-h") && (
__s1_len = __builtin_strlen (argv[1]), __s2_len = __builtin_strlen
("-h"), (!((size_t)(const void *)((argv[1]) + 1) - (size_t)(
const void *)(argv[1]) == 1) || __s1_len >= 4) && (
!((size_t)(const void *)(("-h") + 1) - (size_t)(const void *)
("-h") == 1) || __s2_len >= 4)) ? __builtin_strcmp (argv[1
], "-h") : (__builtin_constant_p (argv[1]) && ((size_t
)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[
1]) == 1) && (__s1_len = __builtin_strlen (argv[1]), __s1_len
< 4) ? (__builtin_constant_p ("-h") && ((size_t)(
const void *)(("-h") + 1) - (size_t)(const void *)("-h") == 1
) ? __builtin_strcmp (argv[1], "-h") : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
("-h"); int __result = (((const unsigned char *) (const char
*) (argv[1]))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
argv[1]))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
argv[1]))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) (argv
[1]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p
("-h") && ((size_t)(const void *)(("-h") + 1) - (size_t
)(const void *)("-h") == 1) && (__s2_len = __builtin_strlen
("-h"), __s2_len < 4) ? (__builtin_constant_p (argv[1]) &&
((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void
*)(argv[1]) == 1) ? __builtin_strcmp (argv[1], "-h") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (argv[1]); int __result = (((const unsigned char *) (
const char *) ("-h"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("-h"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("-h"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("-h"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(argv[1], "-h")))); })
) || (!strcmp(argv[1], "--help")__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
(argv[1]) && __builtin_constant_p ("--help") &&
(__s1_len = __builtin_strlen (argv[1]), __s2_len = __builtin_strlen
("--help"), (!((size_t)(const void *)((argv[1]) + 1) - (size_t
)(const void *)(argv[1]) == 1) || __s1_len >= 4) &&
(!((size_t)(const void *)(("--help") + 1) - (size_t)(const void
*)("--help") == 1) || __s2_len >= 4)) ? __builtin_strcmp (
argv[1], "--help") : (__builtin_constant_p (argv[1]) &&
((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void
*)(argv[1]) == 1) && (__s1_len = __builtin_strlen (argv
[1]), __s1_len < 4) ? (__builtin_constant_p ("--help") &&
((size_t)(const void *)(("--help") + 1) - (size_t)(const void
*)("--help") == 1) ? __builtin_strcmp (argv[1], "--help") : (
__extension__ ({ const unsigned char *__s2 = (const unsigned char
*) (const char *) ("--help"); int __result = (((const unsigned
char *) (const char *) (argv[1]))[0] - __s2[0]); if (__s1_len
> 0 && __result == 0) { __result = (((const unsigned
char *) (const char *) (argv[1]))[1] - __s2[1]); if (__s1_len
> 1 && __result == 0) { __result = (((const unsigned
char *) (const char *) (argv[1]))[2] - __s2[2]); if (__s1_len
> 2 && __result == 0) __result = (((const unsigned
char *) (const char *) (argv[1]))[3] - __s2[3]); } } __result
; }))) : (__builtin_constant_p ("--help") && ((size_t
)(const void *)(("--help") + 1) - (size_t)(const void *)("--help"
) == 1) && (__s2_len = __builtin_strlen ("--help"), __s2_len
< 4) ? (__builtin_constant_p (argv[1]) && ((size_t
)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[
1]) == 1) ? __builtin_strcmp (argv[1], "--help") : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) (argv[1]); int __result = (((const unsigned char *) (
const char *) ("--help"))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("--help"))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) ("--help"))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) ("--help"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
(argv[1], "--help")))); })
)) {
270 // The user asked for help.
271 return 1;
272 }
273
274 // The first two arguments are positional
275 if (argc < 3)
276 return -EINVAL22;
277 *src = argv[1];
278 *node = argv[2];
279
280 // Parse the remaining options
281 *opts = EMPTY_STRING;
282 for (i = 3; i < argc; ++i) {
283 if (!strcmp("-h", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
("-h") && __builtin_constant_p (argv[i]) && (
__s1_len = __builtin_strlen ("-h"), __s2_len = __builtin_strlen
(argv[i]), (!((size_t)(const void *)(("-h") + 1) - (size_t)(
const void *)("-h") == 1) || __s1_len >= 4) && (!(
(size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *
)(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-h"
, argv[i]) : (__builtin_constant_p ("-h") && ((size_t
)(const void *)(("-h") + 1) - (size_t)(const void *)("-h") ==
1) && (__s1_len = __builtin_strlen ("-h"), __s1_len <
4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const
void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1
) ? __builtin_strcmp ("-h", argv[i]) : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
(argv[i]); int __result = (((const unsigned char *) (const char
*) ("-h"))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-h"))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-h"))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) ("-h"
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (
size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen
(argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-h") &&
((size_t)(const void *)(("-h") + 1) - (size_t)(const void *)
("-h") == 1) ? __builtin_strcmp ("-h", argv[i]) : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("-h"); int __result = (((const unsigned char *) (const
char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
("-h", argv[i])))); })
)
284 return 1;
285 else if (!strcmp("-n", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
("-n") && __builtin_constant_p (argv[i]) && (
__s1_len = __builtin_strlen ("-n"), __s2_len = __builtin_strlen
(argv[i]), (!((size_t)(const void *)(("-n") + 1) - (size_t)(
const void *)("-n") == 1) || __s1_len >= 4) && (!(
(size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *
)(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-n"
, argv[i]) : (__builtin_constant_p ("-n") && ((size_t
)(const void *)(("-n") + 1) - (size_t)(const void *)("-n") ==
1) && (__s1_len = __builtin_strlen ("-n"), __s1_len <
4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const
void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1
) ? __builtin_strcmp ("-n", argv[i]) : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
(argv[i]); int __result = (((const unsigned char *) (const char
*) ("-n"))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-n"))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-n"))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) ("-n"
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (
size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen
(argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-n") &&
((size_t)(const void *)(("-n") + 1) - (size_t)(const void *)
("-n") == 1) ? __builtin_strcmp ("-n", argv[i]) : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("-n"); int __result = (((const unsigned char *) (const
char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
("-n", argv[i])))); })
)
286 skip_mtab_flag = 1;
287 else if (!strcmp("-v", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
("-v") && __builtin_constant_p (argv[i]) && (
__s1_len = __builtin_strlen ("-v"), __s2_len = __builtin_strlen
(argv[i]), (!((size_t)(const void *)(("-v") + 1) - (size_t)(
const void *)("-v") == 1) || __s1_len >= 4) && (!(
(size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *
)(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-v"
, argv[i]) : (__builtin_constant_p ("-v") && ((size_t
)(const void *)(("-v") + 1) - (size_t)(const void *)("-v") ==
1) && (__s1_len = __builtin_strlen ("-v"), __s1_len <
4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const
void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1
) ? __builtin_strcmp ("-v", argv[i]) : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
(argv[i]); int __result = (((const unsigned char *) (const char
*) ("-v"))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-v"))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-v"))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) ("-v"
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (
size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen
(argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-v") &&
((size_t)(const void *)(("-v") + 1) - (size_t)(const void *)
("-v") == 1) ? __builtin_strcmp ("-v", argv[i]) : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("-v"); int __result = (((const unsigned char *) (const
char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
("-v", argv[i])))); })
)
288 verboseflag = 1;
289 else if (!strcmp("-o", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p
("-o") && __builtin_constant_p (argv[i]) && (
__s1_len = __builtin_strlen ("-o"), __s2_len = __builtin_strlen
(argv[i]), (!((size_t)(const void *)(("-o") + 1) - (size_t)(
const void *)("-o") == 1) || __s1_len >= 4) && (!(
(size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *
)(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-o"
, argv[i]) : (__builtin_constant_p ("-o") && ((size_t
)(const void *)(("-o") + 1) - (size_t)(const void *)("-o") ==
1) && (__s1_len = __builtin_strlen ("-o"), __s1_len <
4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const
void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1
) ? __builtin_strcmp ("-o", argv[i]) : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *)
(argv[i]); int __result = (((const unsigned char *) (const char
*) ("-o"))[0] - __s2[0]); if (__s1_len > 0 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-o"))[1] - __s2[1]); if (__s1_len > 1 && __result
== 0) { __result = (((const unsigned char *) (const char *) (
"-o"))[2] - __s2[2]); if (__s1_len > 2 && __result
== 0) __result = (((const unsigned char *) (const char *) ("-o"
))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (
size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen
(argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-o") &&
((size_t)(const void *)(("-o") + 1) - (size_t)(const void *)
("-o") == 1) ? __builtin_strcmp ("-o", argv[i]) : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const
char *) ("-o"); int __result = (((const unsigned char *) (const
char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 &&
__result == 0) { __result = (((const unsigned char *) (const
char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 &&
__result == 0) __result = (((const unsigned char *) (const char
*) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp
("-o", argv[i])))); })
) {
290 ++i;
291 if (i >= argc) {
292 printf("Option -o requires an argument.\n\n")__printf_chk (2 - 1, "Option -o requires an argument.\n\n");
293 return -EINVAL22;
294 }
295 *opts = argv[i];
296 }
297 else {
298 printf("Can't understand option: '%s'\n\n", argv[i])__printf_chk (2 - 1, "Can't understand option: '%s'\n\n", argv
[i])
;
299 return -EINVAL22;
300 }
301 }
302 return 0;
303}
304
305/* modprobe failing doesn't necessarily prevent from working, so this
306 returns void */
307static void modprobe(void)
308{
309 int r;
310
311 r = module_load("ceph", NULL((void*)0));
312 if (r)
313 printf("failed to load ceph kernel module (%d)\n", r)__printf_chk (2 - 1, "failed to load ceph kernel module (%d)\n"
, r)
;
314}
315
316static void usage(const char *prog_name)
317{
318 printf("usage: %s [src] [mount-point] [-n] [-v] [-o ceph-options]\n",__printf_chk (2 - 1, "usage: %s [src] [mount-point] [-n] [-v] [-o ceph-options]\n"
, prog_name)
319 prog_name)__printf_chk (2 - 1, "usage: %s [src] [mount-point] [-n] [-v] [-o ceph-options]\n"
, prog_name)
;
320 printf("options:\n")__printf_chk (2 - 1, "options:\n");
321 printf("\t-h: Print this help\n")__printf_chk (2 - 1, "\t-h: Print this help\n");
322 printf("\t-n: Do not update /etc/mtab\n")__printf_chk (2 - 1, "\t-n: Do not update /etc/mtab\n");
323 printf("\t-v: Verbose\n")__printf_chk (2 - 1, "\t-v: Verbose\n");
324 printf("\tceph-options: refer to mount.ceph(8)\n")__printf_chk (2 - 1, "\tceph-options: refer to mount.ceph(8)\n"
)
;
325 printf("\n")__printf_chk (2 - 1, "\n");
326}
327
328int main(int argc, char *argv[])
329{
330 const char *src, *node, *opts;
331 char *rsrc = NULL((void*)0);
332 char *popts = NULL((void*)0);
333 int flags = 0;
334 int retval = 0;
335
336 retval = parse_arguments(argc, argv, &src, &node, &opts);
337 if (retval) {
338 usage(argv[0]);
339 exit((retval > 0) ? EXIT_SUCCESS0 : EXIT_FAILURE1);
340 }
341
342 rsrc = mount_resolve_src(src);
343 if (!rsrc) {
344 printf("failed to resolve source\n")__printf_chk (2 - 1, "failed to resolve source\n");
345 exit(1);
346 }
347
348 modprobe();
349
350 popts = parse_options(opts, &flags);
351 if (!popts) {
352 printf("failed to parse ceph_options\n")__printf_chk (2 - 1, "failed to parse ceph_options\n");
353 exit(1);
354 }
355
356 block_signals(SIG_BLOCK0);
357
358 if (mount(rsrc, node, "ceph", flags, popts)) {
359 retval = errno(*__errno_location ());
360 switch (errno(*__errno_location ())) {
361 case ENODEV19:
362 printf("mount error: ceph filesystem not supported by the system\n")__printf_chk (2 - 1, "mount error: ceph filesystem not supported by the system\n"
)
;
363 break;
364 default:
365 printf("mount error %d = %s\n",errno,strerror(errno))__printf_chk (2 - 1, "mount error %d = %s\n",(*__errno_location
()),strerror((*__errno_location ())))
;
366 }
367 } else {
368 if (!skip_mtab_flag) {
369 update_mtab_entry(rsrc, node, "ceph", popts, flags, 0, 0);
370 }
371 }
372
373 block_signals(SIG_UNBLOCK1);
374
375 free(popts);
376 free(rsrc);
377 exit(retval);
378}
379