#include <linux/efi.h>
#include <linux/fs.h>
#include <linux/ctype.h>
#include <linux/kmemleak.h>
#include <linux/slab.h>
#include <linux/uuid.h>
#include <linux/fileattr.h>
#include "internal.h"
static const struct inode_operations efivarfs_file_inode_operations;
struct inode *efivarfs_get_inode(struct super_block *sb,
const struct inode *dir, int mode,
dev_t dev, bool is_removable)
{ … }
bool efivarfs_valid_name(const char *str, int len)
{ … }
static int efivarfs_create(struct mnt_idmap *idmap, struct inode *dir,
struct dentry *dentry, umode_t mode, bool excl)
{ … }
static int efivarfs_unlink(struct inode *dir, struct dentry *dentry)
{
struct efivar_entry *var = d_inode(dentry)->i_private;
if (efivar_entry_delete(var))
return -EINVAL;
drop_nlink(d_inode(dentry));
dput(dentry);
return 0;
};
const struct inode_operations efivarfs_dir_inode_operations = …;
static int
efivarfs_fileattr_get(struct dentry *dentry, struct fileattr *fa)
{ … }
static int
efivarfs_fileattr_set(struct mnt_idmap *idmap,
struct dentry *dentry, struct fileattr *fa)
{ … }
static const struct inode_operations efivarfs_file_inode_operations = …;