Commit 0524aad7 authored by Stephen Rothwell's avatar Stephen Rothwell Committed by Paul Mackerras

[POWERPC] Fix ppc64's writing to struct file_operations

In preparation for marking file_operations as const.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: default avatarArjan van de Ven <arjan@infradead.org>
Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent f8b93a90
...@@ -439,6 +439,10 @@ static ssize_t lparcfg_write(struct file *file, const char __user * buf, ...@@ -439,6 +439,10 @@ static ssize_t lparcfg_write(struct file *file, const char __user * buf,
ssize_t retval = -ENOMEM; ssize_t retval = -ENOMEM;
if (!firmware_has_feature(FW_FEATURE_SPLPAR) ||
firmware_has_feature(FW_FEATURE_ISERIES))
return -EINVAL;
kbuf = kmalloc(count, GFP_KERNEL); kbuf = kmalloc(count, GFP_KERNEL);
if (!kbuf) if (!kbuf)
goto out; goto out;
...@@ -517,7 +521,7 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v) ...@@ -517,7 +521,7 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v)
static ssize_t lparcfg_write(struct file *file, const char __user * buf, static ssize_t lparcfg_write(struct file *file, const char __user * buf,
size_t count, loff_t * off) size_t count, loff_t * off)
{ {
return count; return -EINVAL;
} }
#endif /* CONFIG_PPC_PSERIES */ #endif /* CONFIG_PPC_PSERIES */
...@@ -570,6 +574,7 @@ static int lparcfg_open(struct inode *inode, struct file *file) ...@@ -570,6 +574,7 @@ static int lparcfg_open(struct inode *inode, struct file *file)
struct file_operations lparcfg_fops = { struct file_operations lparcfg_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = seq_read, .read = seq_read,
.write = lparcfg_write,
.open = lparcfg_open, .open = lparcfg_open,
.release = single_release, .release = single_release,
}; };
...@@ -581,10 +586,8 @@ int __init lparcfg_init(void) ...@@ -581,10 +586,8 @@ int __init lparcfg_init(void)
/* Allow writing if we have FW_FEATURE_SPLPAR */ /* Allow writing if we have FW_FEATURE_SPLPAR */
if (firmware_has_feature(FW_FEATURE_SPLPAR) && if (firmware_has_feature(FW_FEATURE_SPLPAR) &&
!firmware_has_feature(FW_FEATURE_ISERIES)) { !firmware_has_feature(FW_FEATURE_ISERIES))
lparcfg_fops.write = lparcfg_write;
mode |= S_IWUSR; mode |= S_IWUSR;
}
ent = create_proc_entry("ppc64/lparcfg", mode, NULL); ent = create_proc_entry("ppc64/lparcfg", mode, NULL);
if (ent) { if (ent) {
......
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