提交 58ea91c0 编写于 作者: M Martin Schwidefsky 提交者: Martin Schwidefsky

[S390] avoid default_llseek in s390 drivers

Use nonseekable_open for a couple of s390 device drivers. This avoids
the use of default_llseek function which has a dependency on the BKL.
Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
上级 f73a2b03
...@@ -145,7 +145,7 @@ static int hypfs_open(struct inode *inode, struct file *filp) ...@@ -145,7 +145,7 @@ static int hypfs_open(struct inode *inode, struct file *filp)
} }
mutex_unlock(&fs_info->lock); mutex_unlock(&fs_info->lock);
} }
return 0; return nonseekable_open(inode, filp);
} }
static ssize_t hypfs_aio_read(struct kiocb *iocb, const struct iovec *iov, static ssize_t hypfs_aio_read(struct kiocb *iocb, const struct iovec *iov,
......
...@@ -655,6 +655,7 @@ debug_open(struct inode *inode, struct file *file) ...@@ -655,6 +655,7 @@ debug_open(struct inode *inode, struct file *file)
p_info->act_entry_offset = 0; p_info->act_entry_offset = 0;
file->private_data = p_info; file->private_data = p_info;
debug_info_get(debug_info); debug_info_get(debug_info);
nonseekable_open(inode, file);
out: out:
mutex_unlock(&debug_mutex); mutex_unlock(&debug_mutex);
return rc; return rc;
......
...@@ -484,6 +484,7 @@ fs3270_open(struct inode *inode, struct file *filp) ...@@ -484,6 +484,7 @@ fs3270_open(struct inode *inode, struct file *filp)
raw3270_del_view(&fp->view); raw3270_del_view(&fp->view);
goto out; goto out;
} }
nonseekable_open(inode, filp);
filp->private_data = fp; filp->private_data = fp;
out: out:
mutex_unlock(&fs3270_mutex); mutex_unlock(&fs3270_mutex);
......
...@@ -445,7 +445,7 @@ static int zcore_memmap_open(struct inode *inode, struct file *filp) ...@@ -445,7 +445,7 @@ static int zcore_memmap_open(struct inode *inode, struct file *filp)
} }
kfree(chunk_array); kfree(chunk_array);
filp->private_data = buf; filp->private_data = buf;
return 0; return nonseekable_open(inode, filp);
} }
static int zcore_memmap_release(struct inode *inode, struct file *filp) static int zcore_memmap_release(struct inode *inode, struct file *filp)
...@@ -473,7 +473,7 @@ static ssize_t zcore_reipl_write(struct file *filp, const char __user *buf, ...@@ -473,7 +473,7 @@ static ssize_t zcore_reipl_write(struct file *filp, const char __user *buf,
static int zcore_reipl_open(struct inode *inode, struct file *filp) static int zcore_reipl_open(struct inode *inode, struct file *filp)
{ {
return 0; return nonseekable_open(inode, filp);
} }
static int zcore_reipl_release(struct inode *inode, struct file *filp) static int zcore_reipl_release(struct inode *inode, struct file *filp)
......
...@@ -803,6 +803,7 @@ static long chsc_ioctl(struct file *filp, unsigned int cmd, ...@@ -803,6 +803,7 @@ static long chsc_ioctl(struct file *filp, unsigned int cmd,
static const struct file_operations chsc_fops = { static const struct file_operations chsc_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = nonseekable_open,
.unlocked_ioctl = chsc_ioctl, .unlocked_ioctl = chsc_ioctl,
.compat_ioctl = chsc_ioctl, .compat_ioctl = chsc_ioctl,
}; };
......
...@@ -1065,6 +1065,7 @@ static ssize_t cio_settle_write(struct file *file, const char __user *buf, ...@@ -1065,6 +1065,7 @@ static ssize_t cio_settle_write(struct file *file, const char __user *buf,
} }
static const struct file_operations cio_settle_proc_fops = { static const struct file_operations cio_settle_proc_fops = {
.open = nonseekable_open,
.write = cio_settle_write, .write = cio_settle_write,
}; };
......
...@@ -302,7 +302,7 @@ static ssize_t zcrypt_write(struct file *filp, const char __user *buf, ...@@ -302,7 +302,7 @@ static ssize_t zcrypt_write(struct file *filp, const char __user *buf,
static int zcrypt_open(struct inode *inode, struct file *filp) static int zcrypt_open(struct inode *inode, struct file *filp)
{ {
atomic_inc(&zcrypt_open_count); atomic_inc(&zcrypt_open_count);
return 0; return nonseekable_open(inode, filp);
} }
/** /**
......
...@@ -254,6 +254,7 @@ static long zfcp_cfdc_dev_ioctl(struct file *file, unsigned int command, ...@@ -254,6 +254,7 @@ static long zfcp_cfdc_dev_ioctl(struct file *file, unsigned int command,
} }
static const struct file_operations zfcp_cfdc_fops = { static const struct file_operations zfcp_cfdc_fops = {
.open = nonseekable_open,
.unlocked_ioctl = zfcp_cfdc_dev_ioctl, .unlocked_ioctl = zfcp_cfdc_dev_ioctl,
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
.compat_ioctl = zfcp_cfdc_dev_ioctl .compat_ioctl = zfcp_cfdc_dev_ioctl
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册