X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fia64%2Fsn%2Fkernel%2Fsn2%2Fsn_proc_fs.c;h=6a80fca807b9c59119ca08367da12e1d7ceca651;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=55c1065e9ef61d72655cfbee69fef55a9beb423e;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/ia64/sn/kernel/sn2/sn_proc_fs.c b/arch/ia64/sn/kernel/sn2/sn_proc_fs.c index 55c1065e9..6a80fca80 100644 --- a/arch/ia64/sn/kernel/sn2/sn_proc_fs.c +++ b/arch/ia64/sn/kernel/sn2/sn_proc_fs.c @@ -11,7 +11,6 @@ #ifdef CONFIG_PROC_FS #include #include -#include #include static int partition_id_show(struct seq_file *s, void *p) @@ -63,9 +62,14 @@ static int sn_force_interrupt_show(struct seq_file *s, void *p) } static ssize_t sn_force_interrupt_write_proc(struct file *file, - const __user char *buffer, size_t count, loff_t *data) + const char __user *buffer, size_t count, loff_t *data) { - sn_force_interrupt_flag = (*buffer == '0') ? 0 : 1; + char val; + + if (copy_from_user(&val, buffer, 1)) + return -EFAULT; + + sn_force_interrupt_flag = (val == '0') ? 0 : 1; return count; } @@ -76,7 +80,8 @@ static int sn_force_interrupt_open(struct inode *inode, struct file *file) static int coherence_id_show(struct seq_file *s, void *p) { - seq_printf(s, "%d\n", cpuid_to_coherence_id(smp_processor_id())); + seq_printf(s, "%d\n", partition_coherence_id()); + return 0; } @@ -117,7 +122,7 @@ void register_sn_procfs(void) struct proc_dir_entry *e; BUG_ON(sgi_proc_dir != NULL); - if (!(sgi_proc_dir = proc_mkdir("sgi_sn", 0))) + if (!(sgi_proc_dir = proc_mkdir("sgi_sn", NULL))) return; sn_procfs_create_entry("partition_id", sgi_proc_dir,