From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Junxiao Bi <junxiao.bi@oracle.com>,
Sumit Saxena <sumit.saxena@broadcom.com>,
"Martin K . Petersen" <martin.petersen@oracle.com>,
Sasha Levin <sashal@kernel.org>,
megaraidlinux.pdl@broadcom.com, linux-scsi@vger.kernel.org
Subject: [PATCH AUTOSEL 4.4 14/17] scsi: megaraid_sas: fix panic on loading firmware crashdump
Date: Fri, 2 Aug 2019 09:26:31 -0400 [thread overview]
Message-ID: <20190802132635.14885-14-sashal@kernel.org> (raw)
In-Reply-To: <20190802132635.14885-1-sashal@kernel.org>
From: Junxiao Bi <junxiao.bi@oracle.com>
[ Upstream commit 3b5f307ef3cb5022bfe3c8ca5b8f2114d5bf6c29 ]
While loading fw crashdump in function fw_crash_buffer_show(), left bytes
in one dma chunk was not checked, if copying size over it, overflow access
will cause kernel panic.
Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/scsi/megaraid/megaraid_sas_base.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index 2422094f1f15c..5e0bac8de6381 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -2752,6 +2752,7 @@ megasas_fw_crash_buffer_show(struct device *cdev,
u32 size;
unsigned long buff_addr;
unsigned long dmachunk = CRASH_DMA_BUF_SIZE;
+ unsigned long chunk_left_bytes;
unsigned long src_addr;
unsigned long flags;
u32 buff_offset;
@@ -2777,6 +2778,8 @@ megasas_fw_crash_buffer_show(struct device *cdev,
}
size = (instance->fw_crash_buffer_size * dmachunk) - buff_offset;
+ chunk_left_bytes = dmachunk - (buff_offset % dmachunk);
+ size = (size > chunk_left_bytes) ? chunk_left_bytes : size;
size = (size >= PAGE_SIZE) ? (PAGE_SIZE - 1) : size;
src_addr = (unsigned long)instance->crash_buf[buff_offset / dmachunk] +
--
2.20.1
next prev parent reply other threads:[~2019-08-02 13:27 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-02 13:26 [PATCH AUTOSEL 4.4 01/17] netfilter: nfnetlink: avoid deadlock due to synchronous request_module Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 02/17] iscsi_ibft: make ISCSI_IBFT dependson ACPI instead of ISCSI_IBFT_FIND Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 03/17] mac80211: don't warn about CW params when not using them Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 04/17] hwmon: (nct6775) Fix register address and added missed tolerance for nct6106 Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 05/17] x86/mm: Check for pfn instead of page in vmalloc_sync_one() Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 06/17] x86/mm: Sync also unmappings in vmalloc_sync_all() Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 07/17] cpufreq/pasemi: fix use-after-free in pas_cpufreq_cpu_init() Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 08/17] s390/qdio: add sanity checks to the fast-requeue path Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 09/17] ALSA: compress: Fix regression on compressed capture streams Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 10/17] ALSA: compress: Prevent bypasses of set_params Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 11/17] ALSA: compress: Be more restrictive about when a drain is allowed Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 12/17] perf probe: Avoid calling freeing routine multiple times for same pointer Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 13/17] ARM: davinci: fix sleep.S build error on ARMv4 Sasha Levin
2019-08-02 19:02 ` Arnd Bergmann
2019-08-02 13:26 ` Sasha Levin [this message]
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 15/17] scsi: ibmvfc: fix WARN_ON during event pool release Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 16/17] tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop Sasha Levin
2019-08-02 13:26 ` [PATCH AUTOSEL 4.4 17/17] perf/core: Fix creating kernel counters for PMUs that override event->cpu Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190802132635.14885-14-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=junxiao.bi@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=megaraidlinux.pdl@broadcom.com \
--cc=stable@vger.kernel.org \
--cc=sumit.saxena@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome