Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[cascardo/linux.git] / fs / efivarfs / inode.c
index 1d73fc6..71fcccc 100644 (file)
@@ -24,7 +24,7 @@ struct inode *efivarfs_get_inode(struct super_block *sb,
        if (inode) {
                inode->i_ino = get_next_ino();
                inode->i_mode = mode;
-               inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
+               inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode);
                inode->i_flags = is_removable ? 0 : S_IMMUTABLE;
                switch (mode & S_IFMT) {
                case S_IFREG:
@@ -105,7 +105,10 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry,
 
        inode->i_private = var;
 
-       efivar_entry_add(var, &efivarfs_list);
+       err = efivar_entry_add(var, &efivarfs_list);
+       if (err)
+               goto out;
+
        d_instantiate(dentry, inode);
        dget(dentry);
 out: