| From 24c3456c8d5ee6fc1933ca40f7b4406130682668 Mon Sep 17 00:00:00 2001 |
| From: Sagi Grimberg <sagi@grimberg.me> |
| Date: Wed, 14 Nov 2018 10:17:01 -0800 |
| Subject: iser: set sector for ambiguous mr status errors |
| |
| From: Sagi Grimberg <sagi@grimberg.me> |
| |
| commit 24c3456c8d5ee6fc1933ca40f7b4406130682668 upstream. |
| |
| If for some reason we failed to query the mr status, we need to make sure |
| to provide sufficient information for an ambiguous error (guard error on |
| sector 0). |
| |
| Fixes: 0a7a08ad6f5f ("IB/iser: Implement check_protection") |
| Cc: <stable@vger.kernel.org> |
| Reported-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Sagi Grimberg <sagi@grimberg.me> |
| Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/infiniband/ulp/iser/iser_verbs.c | 7 +++---- |
| 1 file changed, 3 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/infiniband/ulp/iser/iser_verbs.c |
| +++ b/drivers/infiniband/ulp/iser/iser_verbs.c |
| @@ -1280,7 +1280,9 @@ u8 iser_check_task_pi_status(struct iscs |
| IB_MR_CHECK_SIG_STATUS, &mr_status); |
| if (ret) { |
| pr_err("ib_check_mr_status failed, ret %d\n", ret); |
| - goto err; |
| + /* Not a lot we can do, return ambiguous guard error */ |
| + *sector = 0; |
| + return 0x1; |
| } |
| |
| if (mr_status.fail_status & IB_MR_CHECK_SIG_STATUS) { |
| @@ -1308,7 +1310,4 @@ u8 iser_check_task_pi_status(struct iscs |
| } |
| |
| return 0; |
| -err: |
| - /* Not alot we can do here, return ambiguous guard error */ |
| - return 0x1; |
| } |