From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Alan Stern <stern@rowland.harvard.edu>,
"Cho, Yu-Chen" <acho@novell.com>
Cc: Josef Bacik <josef@toxicpanda.com>,
Greg Kroah-Hartman <gregkh@suse.de>,
linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net,
linux-kernel@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH 2/7] usb: storage: ene_ub6250: report boot block errors
Date: Tue, 27 Oct 2026 15:40:45 +0100 [thread overview]
Message-ID: <20261027-llm-usb-storage-v1-2-d1655e94ed10@linuxfoundation.org> (raw)
In-Reply-To: <20261027-llm-usb-storage-v1-0-d1655e94ed10@linuxfoundation.org>
From: Josef Bacik <josef@toxicpanda.com>
A Memory Stick whose boot block is rejected by the ENE UB6250 driver,
for instance a hybrid card or a card with an unexpected class, page size
or IDI configuration, crashes the kernel with a NULL pointer
write when it is inserted.
ms_lib_process_bootblock() unconditionally sets result to 0 just before
returning, so every failure is reported as success. On those failures
the logical maps were either never allocated, or were freed again by
ms_lib_free_logicalmap() at its exit label, so ms_card_init() then
writes through a NULL Phy2LogMap:
info->MS_Lib.Phy2LogMap[btBlk1st] = MS_LB_BOOT_BLOCK;
It also means the second boot block is never tried when the first one is
bad.
The bug was found by code inspection and has not been reproduced.
Fix by returning the real result from ms_lib_process_bootblock(), so
that ms_card_init() falls back to the second boot block and fails when
neither one is usable.
Fixes: 33842cedfc33 ("Staging: Merge ENE UB6250 MS card codes from keucr to drivers/usb/storage/ene_ub6250.c")
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/storage/ene_ub6250.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/usb/storage/ene_ub6250.c b/drivers/usb/storage/ene_ub6250.c
index 49276ac79402..a5ef1dcf0bc7 100644
--- a/drivers/usb/storage/ene_ub6250.c
+++ b/drivers/usb/storage/ene_ub6250.c
@@ -1064,7 +1064,6 @@ static int ms_lib_process_bootblock(struct us_data *us, u16 PhyBlock, u8 *PageDa
kfree(PageBuffer);
- result = 0;
return result;
}
--
2.56.0
next prev parent reply other threads:[~2026-10-27 14:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 14:40 [PATCH 0/7] usb: storage: some llm-found patches Greg Kroah-Hartman
2026-10-27 14:40 ` [PATCH 1/7] usb: storage: ene_ub6250: fail MS init on card errors Greg Kroah-Hartman
2026-10-27 14:40 ` Greg Kroah-Hartman [this message]
2026-10-27 14:40 ` [PATCH 3/7] usb: storage: ene_ub6250: fix write to unmapped MS block Greg Kroah-Hartman
2026-10-27 14:40 ` [PATCH 4/7] usb: storage: ene_ub6250: bound the disabled block walk Greg Kroah-Hartman
2026-10-27 14:40 ` [PATCH 5/7] usb: storage: sddr09: bound the unused PBA search Greg Kroah-Hartman
2026-10-27 14:40 ` [PATCH 6/7] usb: storage: shuttle_usbat: fix READ CD divide by zero Greg Kroah-Hartman
2026-10-27 14:40 ` [PATCH 7/7] usb: storage: shuttle_usbat: bound the READ chunk size Greg Kroah-Hartman
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=20261027-llm-usb-storage-v1-2-d1655e94ed10@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=acho@novell.com \
--cc=gregkh@suse.de \
--cc=josef@toxicpanda.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=usb-storage@lists.one-eyed-alien.net \
/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
all inboxes | Powered by JetHome®