From 49688e654e48ae176b5bfda33d2416b68e607ce8 Mon Sep 17 00:00:00 2001 From: Hao Li Date: Wed, 29 Jul 2020 11:44:36 +0800 Subject: dax: Fix incorrect argument passed to xas_set_err() The argument passed to xas_set_err() to indicate an error should be negative. Otherwise, xas_error() will return 0, and grab_mapping_entry() will return the found entry instead of 'SIGBUS' when the entry is not in fact valid. This would result in problems in subsequent code paths. Link: https://lore.kernel.org/r/20200729034436.24267-1-lihao2018.fnst@cn.fujitsu.com Reviewed-by: Pankaj Gupta Signed-off-by: Hao Li Signed-off-by: Vishal Verma --- fs/dax.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/dax.c b/fs/dax.c index 3e0babeb0365..95341af1a966 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -488,7 +488,7 @@ retry: if (dax_is_conflict(entry)) goto fallback; if (!xa_is_value(entry)) { - xas_set_err(xas, EIO); + xas_set_err(xas, -EIO); goto out_unlock; } -- cgit v1.2.3