diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-27 16:59:05 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-27 16:59:05 -0500 |
commit | 6131ffaa1f091415b7a24abb01f033d9c0a727f4 (patch) | |
tree | 8983574e9458a5328a30900cb3466e3648421355 /arch/x86/kernel/msr.c | |
parent | 45e09bd51b2be1fbb86c2e3d5bb00d32744f1ecb (diff) |
more file_inode() open-coded instances
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/x86/kernel/msr.c')
-rw-r--r-- | arch/x86/kernel/msr.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c index 4929502c1372..ce130493b802 100644 --- a/arch/x86/kernel/msr.c +++ b/arch/x86/kernel/msr.c | |||
@@ -71,7 +71,7 @@ static ssize_t msr_read(struct file *file, char __user *buf, | |||
71 | u32 __user *tmp = (u32 __user *) buf; | 71 | u32 __user *tmp = (u32 __user *) buf; |
72 | u32 data[2]; | 72 | u32 data[2]; |
73 | u32 reg = *ppos; | 73 | u32 reg = *ppos; |
74 | int cpu = iminor(file->f_path.dentry->d_inode); | 74 | int cpu = iminor(file_inode(file)); |
75 | int err = 0; | 75 | int err = 0; |
76 | ssize_t bytes = 0; | 76 | ssize_t bytes = 0; |
77 | 77 | ||
@@ -99,7 +99,7 @@ static ssize_t msr_write(struct file *file, const char __user *buf, | |||
99 | const u32 __user *tmp = (const u32 __user *)buf; | 99 | const u32 __user *tmp = (const u32 __user *)buf; |
100 | u32 data[2]; | 100 | u32 data[2]; |
101 | u32 reg = *ppos; | 101 | u32 reg = *ppos; |
102 | int cpu = iminor(file->f_path.dentry->d_inode); | 102 | int cpu = iminor(file_inode(file)); |
103 | int err = 0; | 103 | int err = 0; |
104 | ssize_t bytes = 0; | 104 | ssize_t bytes = 0; |
105 | 105 | ||
@@ -125,7 +125,7 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg) | |||
125 | { | 125 | { |
126 | u32 __user *uregs = (u32 __user *)arg; | 126 | u32 __user *uregs = (u32 __user *)arg; |
127 | u32 regs[8]; | 127 | u32 regs[8]; |
128 | int cpu = iminor(file->f_path.dentry->d_inode); | 128 | int cpu = iminor(file_inode(file)); |
129 | int err; | 129 | int err; |
130 | 130 | ||
131 | switch (ioc) { | 131 | switch (ioc) { |
@@ -171,13 +171,12 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg) | |||
171 | 171 | ||
172 | static int msr_open(struct inode *inode, struct file *file) | 172 | static int msr_open(struct inode *inode, struct file *file) |
173 | { | 173 | { |
174 | unsigned int cpu; | 174 | unsigned int cpu = iminor(file_inode(file)); |
175 | struct cpuinfo_x86 *c; | 175 | struct cpuinfo_x86 *c; |
176 | 176 | ||
177 | if (!capable(CAP_SYS_RAWIO)) | 177 | if (!capable(CAP_SYS_RAWIO)) |
178 | return -EPERM; | 178 | return -EPERM; |
179 | 179 | ||
180 | cpu = iminor(file->f_path.dentry->d_inode); | ||
181 | if (cpu >= nr_cpu_ids || !cpu_online(cpu)) | 180 | if (cpu >= nr_cpu_ids || !cpu_online(cpu)) |
182 | return -ENXIO; /* No such CPU */ | 181 | return -ENXIO; /* No such CPU */ |
183 | 182 | ||