Commit a941f70e authored by Zhai Zhaoxuan's avatar Zhai Zhaoxuan Committed by Greg Kroah-Hartman

staging: android: ashmem: add procfs fdinfo helper

This print the inode number of backing file and the name in
/proc/pid/fdinfo/fd.
These information helps users to know which processes are sharing the same
ashmem.
Signed-off-by: default avatarZhai Zhaoxuan <kxuanobj@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6724ed7f
...@@ -808,7 +808,23 @@ static long compat_ashmem_ioctl(struct file *file, unsigned int cmd, ...@@ -808,7 +808,23 @@ static long compat_ashmem_ioctl(struct file *file, unsigned int cmd,
return ashmem_ioctl(file, cmd, arg); return ashmem_ioctl(file, cmd, arg);
} }
#endif #endif
#ifdef CONFIG_PROC_FS
static void ashmem_show_fdinfo(struct seq_file *m, struct file *file)
{
struct ashmem_area *asma = file->private_data;
mutex_lock(&ashmem_mutex);
if (asma->file)
seq_printf(m, "inode:\t%ld\n", file_inode(asma->file)->i_ino);
if (asma->name[ASHMEM_NAME_PREFIX_LEN] != '\0')
seq_printf(m, "name:\t%s\n",
asma->name + ASHMEM_NAME_PREFIX_LEN);
mutex_unlock(&ashmem_mutex);
}
#endif
static const struct file_operations ashmem_fops = { static const struct file_operations ashmem_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = ashmem_open, .open = ashmem_open,
...@@ -820,6 +836,9 @@ static const struct file_operations ashmem_fops = { ...@@ -820,6 +836,9 @@ static const struct file_operations ashmem_fops = {
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
.compat_ioctl = compat_ashmem_ioctl, .compat_ioctl = compat_ashmem_ioctl,
#endif #endif
#ifdef CONFIG_PROC_FS
.show_fdinfo = ashmem_show_fdinfo,
#endif
}; };
static struct miscdevice ashmem_misc = { static struct miscdevice ashmem_misc = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment