projects/linux·commit 7db83c07

Merge tag 'vfs-5.7-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

7db83c07 · Linus Torvalds <[email protected]> · 2020-04-02 12:59:36 -07:00

Pull hibernation fix from Darrick Wong:
 "Fix a regression where we broke the userspace hibernation driver by
  disallowing writes to the swap device"

* tag 'vfs-5.7-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  hibernate: Allow uswsusp to write to swap
Commit
7db83c070bd29e73c8bb42d4b48c976be76f1dbe
Parents
35a9fafe · 56939e01

Merge commit. Changes below are compared with the first parent: 35a9fafe.

Changes

1 files changed · +3 −1

FileStatusAddDelContent
fs/block_dev.cmodified+3−1View file

fs/block_dev.c

View file
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 9501880..52b6f64 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -34,6 +34,7 @@
#include <linux/task_io_accounting_ops.h>
#include <linux/falloc.h>
#include <linux/uaccess.h>
+#include <linux/suspend.h>
#include "internal.h"
struct bdev_inode {
@@ -2013,7 +2014,8 @@ ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
if (bdev_read_only(I_BDEV(bd_inode)))
return -EPERM;
- if (IS_SWAPFILE(bd_inode))
+ /* uswsusp needs write permission to the swap */
+ if (IS_SWAPFILE(bd_inode) && !hibernation_available())
return -ETXTBSY;
if (!iov_iter_count(from))