]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - security/seclvl.c
Merge /home/trondmy/scm/kernel/git/torvalds/linux-2.6
[karo-tx-linux.git] / security / seclvl.c
index f8700e935b33360b49bb01f16e4cd04b5313fa6b..1caac0164643c202a55c1e8394b9669706723591 100644 (file)
@@ -205,7 +205,7 @@ plaintext_to_sha1(unsigned char *hash, const char *plaintext, int len)
                              "bytes.\n", len, PAGE_SIZE);
                return -ENOMEM;
        }
-       tfm = crypto_alloc_tfm("sha1", 0);
+       tfm = crypto_alloc_tfm("sha1", CRYPTO_TFM_REQ_MAY_SLEEP);
        if (tfm == NULL) {
                seclvl_printk(0, KERN_ERR,
                              "Failed to load transform for SHA1\n");
@@ -252,10 +252,9 @@ passwd_write_file(struct file * file, const char __user * buf,
        }
 
        if (count < 0 || count >= PAGE_SIZE)
-               return -ENOMEM;
-       if (*ppos != 0) {
                return -EINVAL;
-       }
+       if (*ppos != 0)
+               return -EINVAL;
        page = (char *)get_zeroed_page(GFP_KERNEL);
        if (!page)
                return -ENOMEM;
@@ -265,9 +264,8 @@ passwd_write_file(struct file * file, const char __user * buf,
        
        len = strlen(page);
        /* ``echo "secret" > seclvl/passwd'' includes a newline */
-       if (page[len - 1] == '\n') {
+       if (page[len - 1] == '\n')
                len--;
-       }
        /* Hash the password, then compare the hashed values */
        if ((rc = plaintext_to_sha1(tmp, page, len))) {
                seclvl_printk(0, KERN_ERR, "Error hashing password: rc = "
@@ -275,9 +273,8 @@ passwd_write_file(struct file * file, const char __user * buf,
                return rc;
        }
        for (i = 0; i < SHA1_DIGEST_SIZE; i++) {
-               if (hashedPassword[i] != tmp[i]) {
+               if (hashedPassword[i] != tmp[i])
                        return -EPERM;
-               }
        }
        seclvl_printk(0, KERN_INFO,
                      "Password accepted; seclvl reduced to 0.\n");
@@ -482,9 +479,8 @@ static void seclvl_file_free_security(struct file *filp)
  */
 static int seclvl_umount(struct vfsmount *mnt, int flags)
 {
-       if (current->pid == 1) {
+       if (current->pid == 1)
                return 0;
-       }
        if (seclvl == 2) {
                seclvl_printk(1, KERN_WARNING, "Attempt to unmount in secure "
                              "level %d\n", seclvl);
@@ -638,9 +634,8 @@ static int __init seclvl_init(void)
 static void __exit seclvl_exit(void)
 {
        securityfs_remove(seclvl_ino);
-       if (*passwd || *sha1_passwd) {
+       if (*passwd || *sha1_passwd)
                securityfs_remove(passwd_ino);
-       }
        securityfs_remove(dir_ino);
        if (secondary == 1) {
                mod_unreg_security(MY_NAME, &seclvl_ops);