提交 987621a6 编写于 作者: J Jan Beulich 提交者: Zheng Zengkai

xen-scsiback: don't "handle" error by BUG()

stable inclusion
from stable-5.10.18
commit 9bea436fc3fc9a820b8b34e83708971c1813b892
bugzilla: 50148

--------------------------------

commit 7c77474b upstream.

In particular -ENOMEM may come back here, from set_foreign_p2m_mapping().
Don't make problems worse, the more that handling elsewhere (together
with map's status fields now indicating whether a mapping wasn't even
attempted, and hence has to be considered failed) doesn't require this
odd way of dealing with errors.

This is part of XSA-362.
Signed-off-by: NJan Beulich <jbeulich@suse.com>
Cc: stable@vger.kernel.org
Reviewed-by: NJuergen Gross <jgross@suse.com>
Signed-off-by: NJuergen Gross <jgross@suse.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NChen Jun <chenjun102@huawei.com>
Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
上级 d3175339
...@@ -386,12 +386,12 @@ static int scsiback_gnttab_data_map_batch(struct gnttab_map_grant_ref *map, ...@@ -386,12 +386,12 @@ static int scsiback_gnttab_data_map_batch(struct gnttab_map_grant_ref *map,
return 0; return 0;
err = gnttab_map_refs(map, NULL, pg, cnt); err = gnttab_map_refs(map, NULL, pg, cnt);
BUG_ON(err);
for (i = 0; i < cnt; i++) { for (i = 0; i < cnt; i++) {
if (unlikely(map[i].status != GNTST_okay)) { if (unlikely(map[i].status != GNTST_okay)) {
pr_err("invalid buffer -- could not remap it\n"); pr_err("invalid buffer -- could not remap it\n");
map[i].handle = SCSIBACK_INVALID_HANDLE; map[i].handle = SCSIBACK_INVALID_HANDLE;
err = -ENOMEM; if (!err)
err = -ENOMEM;
} else { } else {
get_page(pg[i]); get_page(pg[i]);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册