| To: | Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [RFC PATCH] dax, ext2, ext4, XFS: fix data corruption race |
| From: | Matthew Wilcox <willy@xxxxxxxxxxxxxxx> |
| Date: | Fri, 22 Jan 2016 21:01:02 -0500 |
| Cc: | linux-kernel@xxxxxxxxxxxxxxx, Theodore Ts'o <tytso@xxxxxxx>, Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, Andreas Dilger <adilger.kernel@xxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Dan Williams <dan.j.williams@xxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Jan Kara <jack@xxxxxxxx>, linux-ext4@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-nvdimm@xxxxxxxxxxxx, xfs@xxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1453503971-5319-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx> |
| References: | <1453503971-5319-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.24 (2015-08-30) |
On Fri, Jan 22, 2016 at 04:06:11PM -0700, Ross Zwisler wrote:
> +++ b/fs/block_dev.c
> @@ -1733,13 +1733,28 @@ static const struct address_space_operations
> def_blk_aops = {
> */
> static int blkdev_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
> {
> - return __dax_fault(vma, vmf, blkdev_get_block, NULL);
> + int ret;
> +
> + ret = __dax_fault(vma, vmf, blkdev_get_block, NULL, false);
> +
> + if (WARN_ON_ONCE(ret == -EAGAIN))
> + ret = VM_FAULT_SIGBUS;
> +
> + return ret;
> }
Let's not mix up -E returns and VM_FAULT returns. We already have a
perfectly good VM_FAULT return value -- VM_FAULT_RETRY.
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | RFCv4+ WIP rollup of XFS reverse-mapping, reflink, and dedupe support, Darrick J. Wong |
|---|---|
| Next by Date: | Re: [PATCH 1/5] xfs_io: detect the '-R' option in getopt, Eric Sandeen |
| Previous by Thread: | [RFC PATCH] dax, ext2, ext4, XFS: fix data corruption race, Ross Zwisler |
| Next by Thread: | Re: [RFC PATCH] dax, ext2, ext4, XFS: fix data corruption race, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |