Whamcloud - gitweb
LU-9859 libcfs: move remaining code from linux-module.c to module.c
[fs/lustre-release.git] / libcfs / libcfs / linux / linux-curproc.c
index 92c48d9..70510c9 100644 (file)
 #define cfs_cap_pack(cap) (cap)
 #define cfs_cap_unpack(cap) (cap)
 
-void cfs_cap_raise(cfs_cap_t cap)
-{
-        struct cred *cred;
-        if ((cred = prepare_creds())) {
-                cap_raise(cred->cap_effective, cfs_cap_unpack(cap));
-                commit_creds(cred);
-        }
-}
-
-void cfs_cap_lower(cfs_cap_t cap)
-{
-        struct cred *cred;
-        if ((cred = prepare_creds())) {
-                cap_lower(cred->cap_effective, cfs_cap_unpack(cap));
-                commit_creds(cred);
-        }
-}
-
-int cfs_cap_raised(cfs_cap_t cap)
-{
-        return cap_raised(current_cap(), cfs_cap_unpack(cap));
-}
-
 static void cfs_kernel_cap_pack(kernel_cap_t kcap, cfs_cap_t *cap)
 {
 #if defined (_LINUX_CAPABILITY_VERSION) && _LINUX_CAPABILITY_VERSION == 0x19980330
@@ -262,9 +239,14 @@ int cfs_get_environ(const char *key, char *value, int *val_len)
                            !memcmp(entry, key, key_len)) {
                                entry += key_len + 1;
                                entry_len -= key_len + 1;
-                               /* The 'value' buffer passed in is too small.*/
-                               if (entry_len >= *val_len)
+
+                               /* The 'value' buffer passed in is too small.
+                                * Copy what fits, but return -EOVERFLOW. */
+                               if (entry_len >= *val_len) {
+                                       memcpy(value, entry, *val_len);
+                                       value[*val_len - 1] = 0;
                                        GOTO(out, rc = -EOVERFLOW);
+                               }
 
                                memcpy(value, entry, entry_len);
                                *val_len = entry_len;
@@ -284,9 +266,6 @@ out:
 }
 EXPORT_SYMBOL(cfs_get_environ);
 
-EXPORT_SYMBOL(cfs_cap_raise);
-EXPORT_SYMBOL(cfs_cap_lower);
-EXPORT_SYMBOL(cfs_cap_raised);
 EXPORT_SYMBOL(cfs_curproc_cap_pack);
 EXPORT_SYMBOL(cfs_capable);