forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
cbeb0310cf
commit
49688e654e
2
fs/dax.c
2
fs/dax.c
|
@ -488,7 +488,7 @@ static void *grab_mapping_entry(struct xa_state *xas,
|
||||||
if (dax_is_conflict(entry))
|
if (dax_is_conflict(entry))
|
||||||
goto fallback;
|
goto fallback;
|
||||||
if (!xa_is_value(entry)) {
|
if (!xa_is_value(entry)) {
|
||||||
xas_set_err(xas, EIO);
|
xas_set_err(xas, -EIO);
|
||||||
goto out_unlock;
|
goto out_unlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user