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

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.comReviewed-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
......@@ -488,7 +488,7 @@ static void *grab_mapping_entry(struct xa_state *xas,
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;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment