page->index);
desc->error = -EINVAL;
}
-
+
+ flush_dcache_page(p->page);
+
desc->count = count - size;
desc->written += size;
p->offset += size;
}
static int
-loop_set_status_old(struct loop_device *lo, const struct loop_info *arg)
+loop_set_status_old(struct loop_device *lo, const struct loop_info __user *arg)
{
struct loop_info info;
struct loop_info64 info64;
}
static int
-loop_set_status64(struct loop_device *lo, const struct loop_info64 *arg)
+loop_set_status64(struct loop_device *lo, const struct loop_info64 __user *arg)
{
struct loop_info64 info64;
}
static int
-loop_get_status_old(struct loop_device *lo, struct loop_info *arg) {
+loop_get_status_old(struct loop_device *lo, struct loop_info __user *arg) {
struct loop_info info;
struct loop_info64 info64;
int err = 0;
}
static int
-loop_get_status64(struct loop_device *lo, struct loop_info64 *arg) {
+loop_get_status64(struct loop_device *lo, struct loop_info64 __user *arg) {
struct loop_info64 info64;
int err = 0;
err = loop_clr_fd(lo, inode->i_bdev);
break;
case LOOP_SET_STATUS:
- err = loop_set_status_old(lo, (struct loop_info *) arg);
+ err = loop_set_status_old(lo, (struct loop_info __user *) arg);
break;
case LOOP_GET_STATUS:
- err = loop_get_status_old(lo, (struct loop_info *) arg);
+ err = loop_get_status_old(lo, (struct loop_info __user *) arg);
break;
case LOOP_SET_STATUS64:
- err = loop_set_status64(lo, (struct loop_info64 *) arg);
+ err = loop_set_status64(lo, (struct loop_info64 __user *) arg);
break;
case LOOP_GET_STATUS64:
- err = loop_get_status64(lo, (struct loop_info64 *) arg);
+ err = loop_get_status64(lo, (struct loop_info64 __user *) arg);
break;
default:
err = lo->ioctl ? lo->ioctl(lo, cmd, arg) : -EINVAL;