!56 backport to fix crash when 'm LEN' < 252 for sg_ses

From: @tjwangxm 
Reviewed-by: @liuzhiqiang26 
Signed-off-by: @liuzhiqiang26
This commit is contained in:
openeuler-ci-bot 2022-07-11 08:31:02 +00:00 committed by Gitee
commit 4ff34c008d
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 68 additions and 31 deletions

View File

@ -1,29 +0,0 @@
From dd2a61c9551ac5d2ac0c5902172fd8312edc22cb Mon Sep 17 00:00:00 2001
From: yanglongkang <yanglongkang@huawei.com>
Date: Tue, 9 Feb 2021 11:39:32 +0800
Subject: [PATCH] sg3_utils: fix memset coredump
alloc MX_ALLOC_LEN size mem to enc_stat_rsp for
solving coredump problem.
Signed-off-by: yanglongkang <yanglongkang@huawei.com>
---
src/sg_ses.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/sg_ses.c b/src/sg_ses.c
index 23fc3b9..cf344b7 100644
--- a/src/sg_ses.c
+++ b/src/sg_ses.c
@@ -5582,7 +5582,7 @@ main(int argc, char * argv[])
enumerate_work(op);
goto early_out;
}
- enc_stat_rsp = sg_memalign(op->maxlen, 0, &free_enc_stat_rsp, false);
+ enc_stat_rsp = sg_memalign(MX_ALLOC_LEN, 0, &free_enc_stat_rsp, false);
if (NULL == enc_stat_rsp) {
pr2serr("Unable to get heap for enc_stat_rsp\n");
goto err_out;
--
1.8.3.1

View File

@ -0,0 +1,63 @@
From bfbefdf2d9aa12107d08d796d6fc78862ab85402 Mon Sep 17 00:00:00 2001
From: Douglas Gilbert <dgilbert@interlog.com>
Date: Sun, 1 Aug 2021 03:14:05 +0000
Subject: [PATCH] sg_ses: fix crash when 'm LEN' < 252
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@907 6180dd3e-e324-4e3e-922d-17de1ae2f315
fix issue:https://gitee.com/src-openeuler/sg3_utils/issues/I5G05L
memset enc_stat_rsp by its true length
Signed-off-by: wangxiaomeng <wangxiaomeng@kylinos.cn>
---
src/sg_ses.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/sg_ses.c b/src/sg_ses.c
index b9ac2e4..701359b 100644
--- a/src/sg_ses.c
+++ b/src/sg_ses.c
@@ -5530,7 +5530,7 @@ int
main(int argc, char * argv[])
{
bool have_cgs = false;
- int k, d_len, res, resid, vb;
+ int k, n, d_len, res, resid, vb;
int sg_fd = -1;
int pd_type = 0;
int ret = 0;
@@ -5764,15 +5764,17 @@ main(int argc, char * argv[])
}
}
clear_scsi_pt_obj(ptvp);
- memset(enc_stat_rsp, 0, 4096);
+ memset(enc_stat_rsp, 0, enc_stat_rsp_sz);
}
#endif
if (ptvp) {
- ret = sg_ll_request_sense_pt(ptvp, false, enc_stat_rsp,
- REQUEST_SENSE_RESP_SZ, ! op->quiet, vb);
+ n = (enc_stat_rsp_sz < REQUEST_SENSE_RESP_SZ) ? enc_stat_rsp_sz :
+ REQUEST_SENSE_RESP_SZ;
+ ret = sg_ll_request_sense_pt(ptvp, false, enc_stat_rsp, n,
+ ! op->quiet, vb);
if (0 == ret) {
- int sense_len = REQUEST_SENSE_RESP_SZ - get_scsi_pt_resid(ptvp);
+ int sense_len = n - get_scsi_pt_resid(ptvp);
struct sg_scsi_sense_hdr ssh;
if ((sense_len > 7) && sg_scsi_normalize_sense(enc_stat_rsp,
@@ -5801,7 +5803,7 @@ main(int argc, char * argv[])
" problems ahead\n", ret);
}
clear_scsi_pt_obj(ptvp);
- memset(enc_stat_rsp, 0, REQUEST_SENSE_RESP_SZ);
+ memset(enc_stat_rsp, 0, enc_stat_rsp_sz);
}
if (op->nickname_str)
--
2.27.0

View File

@ -1,6 +1,6 @@
Name: sg3_utils
Version: 1.46
Release: 5
Release: 6
Summary: Utilities that send SCSI commands to devices.
License: GPL-2.0-or-later AND BSD
URL: http://sg.danny.cz/sg/sg3_utils.html
@ -10,7 +10,7 @@ Patch0: 0000-sg3_utils-1.37-rescan-scsi-findremapped-enhance.patch
Patch1: 0001-sg3_utils-1.37-rescan-downpress.patch
Patch2: 0002-bugfix-sg3_utils-fix-syntax-error.patch
Patch3: 0003-sg3_utils-1.42-delete-lun-rescan-scsi-bus-report-error.patch
Patch4: 0004-sg3_utils-fix-memset-coredump.patch
Patch4: 0004-sg_ses-fix-crash-when-m-LEN-252.patch
Patch5: 0005-sg3_utils-rescan-scsi-bus-list-all-LUNs-in-one-line.patch
Patch6: 0006-rescan-scsi-bus.sh-apply-fix-for-r-from-https-github.patch
@ -76,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.la
%{_mandir}/man8/*
%changelog
* Mon Jul 11 2022 wangxiaomeng <wangxiaomeng@kylinos.cn> - 1.46-6
- Backport patch to solve coredump problem, fix crash when 'm LEN' < 252
* Fri Jul 1 2022 Wenchao Hao <haowenchao@huawei.com> -1.46-5
- Fix grammar error in rescan-scsi-bus.sh introduced by patch