summaryrefslogtreecommitdiff
path: root/fs/proc/generic.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2018-07-23 18:02:28 +0100
committerMark Brown <broonie@kernel.org>2018-07-23 18:02:28 +0100
commit0afdd676f6e575478634d961286094169adbc50d (patch)
treedc04a98e56287b9375626457c6cdd56062e5f899 /fs/proc/generic.c
parente594a0636b0213d058aec2406e13f276b70791ed (diff)
parenteef5ba1aa148ca5e6deb1e0aa1de797fa4e12cb7 (diff)
Merge branch 'i2c/smbus_xfer_unlock-immutable' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into regmap-4.19 for sccb dependency
Diffstat (limited to 'fs/proc/generic.c')
-rw-r--r--fs/proc/generic.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/proc/generic.c b/fs/proc/generic.c
index 6ac1c92997ea..bb1c1625b158 100644
--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -564,11 +564,20 @@ static int proc_seq_open(struct inode *inode, struct file *file)
return seq_open(file, de->seq_ops);
}
+static int proc_seq_release(struct inode *inode, struct file *file)
+{
+ struct proc_dir_entry *de = PDE(inode);
+
+ if (de->state_size)
+ return seq_release_private(inode, file);
+ return seq_release(inode, file);
+}
+
static const struct file_operations proc_seq_fops = {
.open = proc_seq_open,
.read = seq_read,
.llseek = seq_lseek,
- .release = seq_release,
+ .release = proc_seq_release,
};
struct proc_dir_entry *proc_create_seq_private(const char *name, umode_t mode,