Commit 49688e65 authored by Hao Li's avatar Hao Li Committed by Vishal Verma
Browse files

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: default avatarPankaj Gupta <pankaj.gupta.linux@gmail.com>
Signed-off-by: default avatarHao Li <lihao2018.fnst@cn.fujitsu.com>
Signed-off-by: default avatarVishal Verma <vishal.l.verma@intel.com>
parent cbeb0310
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
		}