VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / arch / ia64 / kernel / salinfo.c
index 696b3ba..a0420ae 100644 (file)
@@ -426,8 +426,6 @@ salinfo_log_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
        struct inode *inode = file->f_dentry->d_inode;
        struct proc_dir_entry *entry = PDE(inode);
        struct salinfo_data *data = entry->data;
-       void *saldata;
-       size_t size;
        u8 *buf;
        u64 bufsize;
 
@@ -441,18 +439,7 @@ salinfo_log_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
                buf = NULL;
                bufsize = 0;
        }
-       if (*ppos >= bufsize)
-               return 0;
-
-       saldata = buf + file->f_pos;
-       size = bufsize - file->f_pos;
-       if (size > count)
-               size = count;
-       if (copy_to_user(buffer, saldata, size))
-               return -EFAULT;
-
-       *ppos += size;
-       return size;
+       return simple_read_from_buffer(buffer, count, ppos, buf, bufsize);
 }
 
 static void