securityfs_create_file — create a file in the securityfs filesystem


struct dentry * securityfs_create_file (const char * name,
 umode_t mode,
 struct dentry * parent,
 void * data,
 const struct file_operations * fops);


const char * name

a pointer to a string containing the name of the file to create.

umode_t mode

the permission that the file should have

struct dentry * parent

a pointer to the parent dentry for this file. This should be a directory dentry if set. If this parameter is NULL, then the file will be created in the root of the securityfs filesystem.

void * data

a pointer to something that the caller will want to get to later on. The inode.i_private pointer will point to this value on the open call.

const struct file_operations * fops

a pointer to a struct file_operations that should be used for this file.


This is the basic create a file function for securityfs. It allows for a wide range of flexibility in creating a file, or a directory (if you want to create a directory, the securityfs_create_dir function is recommended to be used instead).

This function returns a pointer to a dentry if it succeeds. This pointer must be passed to the securityfs_remove function when the file is to be removed (no automatic cleanup happens if your module is unloaded, you are responsible here). If an error occurs, the function will return the error value (via ERR_PTR).

If securityfs is not enabled in the kernel, the value -ENODEV is returned.