|
@@ -1218,23 +1218,15 @@ static const struct seq_operations cache_content_op = {
|
|
|
|
|
|
static int content_open(struct inode *inode, struct file *file)
|
|
static int content_open(struct inode *inode, struct file *file)
|
|
{
|
|
{
|
|
- int res;
|
|
|
|
struct handle *han;
|
|
struct handle *han;
|
|
struct cache_detail *cd = PDE(inode)->data;
|
|
struct cache_detail *cd = PDE(inode)->data;
|
|
|
|
|
|
- han = kmalloc(sizeof(*han), GFP_KERNEL);
|
|
|
|
|
|
+ han = __seq_open_private(file, &cache_content_op, sizeof(*han));
|
|
if (han == NULL)
|
|
if (han == NULL)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
han->cd = cd;
|
|
han->cd = cd;
|
|
-
|
|
|
|
- res = seq_open(file, &cache_content_op);
|
|
|
|
- if (res)
|
|
|
|
- kfree(han);
|
|
|
|
- else
|
|
|
|
- ((struct seq_file *)file->private_data)->private = han;
|
|
|
|
-
|
|
|
|
- return res;
|
|
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
static const struct file_operations content_file_operations = {
|
|
static const struct file_operations content_file_operations = {
|