From: John Ernberg <john.ernberg@actia.se>
To: Frank Li <Frank.li@nxp.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Peter Chen <peter.chen@kernel.org>,
Pawel Laszczak <pawell@cadence.com>,
Roger Quadros <rogerq@kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"imx@lists.linux.dev" <imx@lists.linux.dev>,
Jonas Blixt <jonas.blixt@actia.se>
Subject: Re: [PATCH v7 00/17] mm, dma, arm64: Reduce ARCH_KMALLOC_MINALIGN to 8
Date: Mon, 31 Mar 2025 08:02:20 +0000 [thread overview]
Message-ID: <6f5877cb-e6b7-4420-9a92-d2f44f931e8f@actia.se> (raw)
In-Reply-To: <Z+b6qrgXz/NTOs5r@lizhi-Precision-Tower-5810>
Hi Frank,
On 3/28/25 8:38 PM, Frank Li wrote:
> On Fri, Mar 28, 2025 at 04:41:05PM +0000, John Ernberg wrote:
>> On 6/12/23 5:31 PM, Catalin Marinas wrote:
>>> Hi,
>>>
>>> That's v7 of the series reducing the kmalloc() minimum alignment on
>>> arm64 to 8 (from 128). There's no new/different functionality, mostly
>>> cosmetic changes and acks/tested-bys.
>>>
>>> Andrew, if there are no further comments or objections to this version,
>>> are you ok to take the series through the mm tree? The arm64 changes are
>>> fairly small. Alternatively, I can push it into linux-next now to give
>>> it some wider exposure and decide whether to upstream it when the
>>> merging window opens. Thanks.
>>>
>>> The updated patches are also available on this branch:
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux devel/kmalloc-minalign
>>>
>>
>> (I trimmed the recipients and added linux-usb and imx mailing list, +
>> cdns3 maintainers)
>>
>> Hi Catalin, lists,
>>
>> Seen on Linux 6.12.20, it is not trivial for us to test later kernels so
>> if the issue is potentially fixed we are more than happy to cherry-pick
>> the potential fixes and give them a go.
>>
>> Having an SMSC9512 (smsc95xx) USB Ethernet/Hub chip attached to the armv8
>> SoC iMX8QXP over the Cadence USB3 USB2 interface (cdns3-imx) will since
>> the patch set at [0] cause random interrupt storms over the SMSC9512 INT
>> EP.
>
> Do you know where buy SMSC9512 USB Ethernet/Hub?
A quick google search didn't find my any dongles that are still
available, however the SMSC 95xx series of chips used to be popular in
USB to Ethernet dongles.
Otherwise they are made by Microchip today, any variant of the SMSC 95xx
should be able to trigger the problem.
>
>>
>> The reason for the storm is that the async URBs queued at [1] right before
>> the interrupt configuration [2] in the driver.
>> With [0] applied, those async URBs are likely clobbering any URB located
>> after them in memory somewhere in the xhci memory space.
>> The memory corruption only happens if there is more than one URB in the
>> queue at the same time, making these async URBs a good trigger of the
>> problem.
>> If we force those URBs to be sync or use the hack inlined below, the
>> problem goes away.
>>
>> The content of read_buf in the interrupt configuration read at [2] looks
>> to be the lo-part of a pointer +-20 bytes distance from the pointers
>> present in the async URBs queued from [1] when we dumped the URB structures
>> instead of the expected register contents.
>>
>> Attached are 3 usbmon captures, with some annotations, which we thought
>> might contain useful hints.
>>
>> * usb-annotated-bad.pcapng shows the URB that will get clobbered is queued
>> at position 280, and completes at 282.
>>
>> * usb-annotated-good.pcapng shows the URB that gets clobbered in the bad
>> case is queued at position 282 and completes at 283.
>>
>> The above captures are from a kernel where the hack has not been applied.
>>
>> * usb-annotated-hackfix.pcapng shows the URB that gets clobbered in the
>> bad case is queued at position 238 and completes at 240.
>
> Maillist have not attachment. Can you send it to me directly?
The linux-usb mailing list picked up the attachments.
https://lore.kernel.org/linux-usb/Z+b6qrgXz%2FNTOs5r@lizhi-Precision-Tower-5810/T/#t
Best regards // John Ernberg
next prev parent reply other threads:[~2025-03-31 8:02 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20230612153201.554742-1-catalin.marinas@arm.com>
2025-03-28 16:41 ` [PATCH v7 00/17] mm, dma, arm64: Reduce ARCH_KMALLOC_MINALIGN to 8 John Ernberg
2025-03-28 19:38 ` Frank Li
2025-03-31 8:02 ` John Ernberg [this message]
2025-03-31 16:21 ` Frank Li
2025-04-01 12:56 ` John Ernberg
2025-04-01 16:43 ` Catalin Marinas
2025-04-02 10:35 ` John Ernberg
2025-05-02 12:02 ` John Ernberg
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=6f5877cb-e6b7-4420-9a92-d2f44f931e8f@actia.se \
--to=john.ernberg@actia.se \
--cc=Frank.li@nxp.com \
--cc=catalin.marinas@arm.com \
--cc=imx@lists.linux.dev \
--cc=jonas.blixt@actia.se \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mm@kvack.org \
--cc=linux-usb@vger.kernel.org \
--cc=pawell@cadence.com \
--cc=peter.chen@kernel.org \
--cc=rogerq@kernel.org \
/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