diff options
author | Hao Li <lihao2018.fnst@cn.fujitsu.com> | 2020-07-29 11:44:36 +0800 |
---|---|---|
committer | Vishal Verma <vishal.l.verma@intel.com> | 2020-07-30 18:14:33 -0600 |
commit | 49688e654e48ae176b5bfda33d2416b68e607ce8 (patch) | |
tree | 97ee93c13b240fea45696a9683cdb19c310912a8 | |
parent | cbeb0310cfda7b6148f417e36b96539101d7f449 (diff) | |
download | linux-stable-49688e654e48ae176b5bfda33d2416b68e607ce8.tar.gz linux-stable-49688e654e48ae176b5bfda33d2416b68e607ce8.tar.bz2 linux-stable-49688e654e48ae176b5bfda33d2416b68e607ce8.zip |
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 <pankaj.gupta.linux@gmail.com>
Signed-off-by: Hao Li <lihao2018.fnst@cn.fujitsu.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
-rw-r--r-- | fs/dax.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; } |