aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sunrpc/cache.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
index ebe344f34d1a..8e05557414ce 100644
--- a/net/sunrpc/cache.c
+++ b/net/sunrpc/cache.c
@@ -1218,23 +1218,15 @@ static const struct seq_operations cache_content_op = {
1218 1218
1219static int content_open(struct inode *inode, struct file *file) 1219static int content_open(struct inode *inode, struct file *file)
1220{ 1220{
1221 int res;
1222 struct handle *han; 1221 struct handle *han;
1223 struct cache_detail *cd = PDE(inode)->data; 1222 struct cache_detail *cd = PDE(inode)->data;
1224 1223
1225 han = kmalloc(sizeof(*han), GFP_KERNEL); 1224 han = __seq_open_private(file, &cache_content_op, sizeof(*han));
1226 if (han == NULL) 1225 if (han == NULL)
1227 return -ENOMEM; 1226 return -ENOMEM;
1228 1227
1229 han->cd = cd; 1228 han->cd = cd;
1230 1229 return 0;
1231 res = seq_open(file, &cache_content_op);
1232 if (res)
1233 kfree(han);
1234 else
1235 ((struct seq_file *)file->private_data)->private = han;
1236
1237 return res;
1238} 1230}
1239 1231
1240static const struct file_operations content_file_operations = { 1232static const struct file_operations content_file_operations = {