From: Greg Kroah-Hartman Date: Fri, 9 Sep 2016 11:37:54 +0000 (+0200) Subject: 4.7-stable patches X-Git-Tag: v3.14.79~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb9eaf6780cc0a07b98e11df9194f452e221c377;p=thirdparty%2Fkernel%2Fstable-queue.git 4.7-stable patches added patches: revert-floppy-refactor-open-flags-handling.patch --- diff --git a/queue-4.4/series b/queue-4.4/series new file mode 100644 index 00000000000..e69de29bb2d diff --git a/queue-4.7/revert-floppy-refactor-open-flags-handling.patch b/queue-4.7/revert-floppy-refactor-open-flags-handling.patch new file mode 100644 index 00000000000..a13bab0e594 --- /dev/null +++ b/queue-4.7/revert-floppy-refactor-open-flags-handling.patch @@ -0,0 +1,68 @@ +From f2791e7eadf437633f30faa51b30878cf15650be Mon Sep 17 00:00:00 2001 +From: Jens Axboe +Date: Thu, 25 Aug 2016 08:56:51 -0600 +Subject: Revert "floppy: refactor open() flags handling" + +From: Jens Axboe + +commit f2791e7eadf437633f30faa51b30878cf15650be upstream. + +This reverts commit 09954bad448791ef01202351d437abdd9497a804. + +Cc: Mark Hounschell +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/block/floppy.c | 34 +++++++++++++++------------------- + 1 file changed, 15 insertions(+), 19 deletions(-) + +--- a/drivers/block/floppy.c ++++ b/drivers/block/floppy.c +@@ -3663,11 +3663,6 @@ static int floppy_open(struct block_devi + + opened_bdev[drive] = bdev; + +- if (!(mode & (FMODE_READ|FMODE_WRITE))) { +- res = -EINVAL; +- goto out; +- } +- + res = -ENXIO; + + if (!floppy_track_buffer) { +@@ -3711,20 +3706,21 @@ static int floppy_open(struct block_devi + if (UFDCS->rawcmd == 1) + UFDCS->rawcmd = 2; + +- UDRS->last_checked = 0; +- clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags); +- check_disk_change(bdev); +- if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags)) +- goto out; +- if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags)) +- goto out; +- +- res = -EROFS; +- +- if ((mode & FMODE_WRITE) && +- !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags)) +- goto out; +- ++ if (!(mode & FMODE_NDELAY)) { ++ if (mode & (FMODE_READ|FMODE_WRITE)) { ++ UDRS->last_checked = 0; ++ clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags); ++ check_disk_change(bdev); ++ if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags)) ++ goto out; ++ if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags)) ++ goto out; ++ } ++ res = -EROFS; ++ if ((mode & FMODE_WRITE) && ++ !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags)) ++ goto out; ++ } + mutex_unlock(&open_lock); + mutex_unlock(&floppy_mutex); + return 0; diff --git a/queue-4.7/series b/queue-4.7/series new file mode 100644 index 00000000000..fd01cc0b173 --- /dev/null +++ b/queue-4.7/series @@ -0,0 +1 @@ +revert-floppy-refactor-open-flags-handling.patch