struct inode *inode;
int error;
-@@ -665,9 +678,16 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
+@@ -665,13 +678,20 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
file = fget(arg);
if (!file)
goto out;
+ get_file(file);
+ }
+ error = loop_validate_file(file, bdev);
+ if (error)
+ goto out_putf;
+
inode = file->f_mapping->host;
old_file = lo->lo_backing_file;
+ old_virt_file = lo->lo_backing_virt_file;
static int loop_set_fd(struct loop_device *lo, fmode_t mode,
struct block_device *bdev, unsigned int arg)
{
-- struct file *file, *f;
+- struct file *file;
+ struct file *file, *f, *virt_file = NULL;
struct inode *inode;
struct address_space *mapping;
%define rel 1
%define basever 4.9
-%define postver .112
+%define postver .114
# define this to '-%{basever}' for longterm branch
%define versuffix -%{basever}
# Source0-md5: 0a68ef3615c64bd5ee54a3320e46667d
%if "%{postver}" != ".0"
Patch0: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
-# Patch0-md5: aa970105962eae5046c464e5e5b283fd
+# Patch0-md5: 9b83fef1ec18f9fb18d70cba04c8306f
%endif
Source1: kernel.sysconfig