From: "Maciej W. Rozycki" <macro@orcam.me.uk>
To: Khalid Aziz <khalid@gonehiking.org>,
"James E.J. Bottomley" <jejb@linux.ibm.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/5] Bring the BusLogic host bus adapter driver up to Y2021
Date: Thu, 15 Apr 2021 00:38:59 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.21.2104141244520.44318@angie.orcam.me.uk> (raw)
Hi,
First of all, does anyone have a copy of: "MultiMaster UltraSCSI Host
Adapters for PCI Systems: Technical Reference Manual" (pub. 3002493-E)?
It used to live in the "Mylex Manuals and Documentation Archives" section
of the Mylex web site <http://www.mylex.com/pub/manuals/index.htm>,
specifically at: <http://www.mylex.com/pub/manuals/mmultra.pdf>.
Another useful document might be: "Wide SCSI Host Adapters for PCI and
EISA Systems: Technical Reference Manual" (pub. 3000763-A), which used to
live at: <http://www.mylex.com/pub/manuals/widescsi.pdf>, linked from the
same place.
Sadly I didn't get to these resources while they were still there, and
neither did archive.org, and now they not appear available from anywhere
online. I'm sure Leonard had this all, but, alas, he is long gone too.
It looks to me like either or both documents would help understanding how
the BusLogic devices (are supposed to) work and possibly deal with issues
in a better way.
So we are here owing to Christoph's recent ISA bounce buffering sweep:
<https://lore.kernel.org/linux-scsi/20210331073001.46776-1-hch@lst.de/T/#m981284e74e93216626a0728ce1601ca18fca92e8>
which has prompted me to verify the current version of Linux with my old
server, which has been long equipped with venerable Linux 2.6.18 and which
I now have available for general experimenting, and the BusLogic BT-958
PCI SCSI host bus adapter the server has used for 20-something years now.
This revealed numerous issues with the BusLogic driver.
Firstly (1/5) it has suffered from some bitrot and messages produced have
become messy from the lack of update for proper `pr_cont' support.
Secondly (2/5) there has been a potential buffer overrun/stack corruption
security issue from using an unbounded `vsprintf' call.
Thirdly (3/5) it has become obvious the BusLogic driver would have been
non-functional, should I have upgraded the kernel, at least with this
configuration for some 8 years now, and the underlying cause has been a
long-known issue with the MultiMaster firmware I have dealt with already,
back in 2003. To put it short the firmware cannot cope with commands that
request an allocation length exceeding the length of actual data returned.
I have originally observed it with a LOG SENSE command in the course of
investigating why smartmontools bring the system to a death, and worked it
around: <https://sourceforge.net/p/smartmontools/mailman/message/4993087/>
by issuing the command twice, first just to obtain the allocation length
required. As it turns out we need a similar workaround in the kernel now.
But in the course of investigating this issue I have discovered there is
a second bottom to it and hence I have prepared follow-up changes (4-5/5)
to address problems with our handling of Vital Product Data INQUIRY pages.
See individual change descriptions for further details.
Questions, comments, concerns? Otherwise please apply.
Maciej
next reply other threads:[~2021-04-14 22:39 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-14 22:38 Maciej W. Rozycki [this message]
2021-04-14 22:39 ` [PATCH 1/5] scsi: BusLogic: Fix missing `pr_cont' use Maciej W. Rozycki
2021-04-16 2:08 ` Joe Perches
2021-04-16 10:48 ` Maciej W. Rozycki
2021-04-16 14:02 ` Joe Perches
2021-04-16 14:28 ` Maciej W. Rozycki
2021-04-16 15:12 ` Joe Perches
2021-04-17 11:39 ` David Laight
2021-04-17 14:01 ` Maciej W. Rozycki
2021-04-16 20:41 ` Khalid Aziz
2021-04-17 0:09 ` Joe Perches
2021-04-16 19:34 ` Khalid Aziz
2021-04-14 22:39 ` [PATCH 2/5] scsi: BusLogic: Avoid unbounded `vsprintf' use Maciej W. Rozycki
2021-04-16 19:54 ` Khalid Aziz
2021-04-14 22:39 ` [PATCH 3/5] scsi: Provide for avoiding trailing allocation length with VPD inquiries Maciej W. Rozycki
2021-04-14 22:39 ` [PATCH 4/5] scsi: Avoid using reserved length byte " Maciej W. Rozycki
2021-04-14 22:39 ` [PATCH 5/5] scsi: Set allocation length to 255 for ATA Information VPD page Maciej W. Rozycki
2021-04-15 12:42 ` Nix
2021-04-16 15:18 ` Maciej W. Rozycki
2021-04-16 19:36 ` [PATCH 0/5] Bring the BusLogic host bus adapter driver up to Y2021 Khalid Aziz
2021-04-16 21:25 ` Maciej W. Rozycki
2021-04-18 20:21 ` Ondrej Zary
2021-04-19 15:06 ` Khalid Aziz
2021-04-19 16:01 ` Maciej W. Rozycki
2021-04-20 2:16 ` Khalid Aziz
2021-04-20 18:02 ` Maciej W. Rozycki
2021-04-22 2:36 ` Khalid Aziz
2021-04-22 16:27 ` Maciej W. Rozycki
2021-04-22 18:07 ` Khalid Aziz
2021-04-22 23:19 ` Maciej W. Rozycki
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=alpine.DEB.2.21.2104141244520.44318@angie.orcam.me.uk \
--to=macro@orcam.me.uk \
--cc=hch@lst.de \
--cc=jejb@linux.ibm.com \
--cc=khalid@gonehiking.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.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;
as well as URLs for NNTP newsgroup(s).