From: sashiko-bot@kernel.org
To: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: "Vasily Gorbik" <gor@linux.ibm.com>,
"Heiko Carstens" <hca@linux.ibm.com>,
linux-s390@vger.kernel.org,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>
Subject: Re: [PATCH v3 12/13] s390/qdio_setup: Use kmalloc() for the SSQD request
Date: Wed, 16 Sep 2026 12:23:58 +0000 [thread overview]
Message-ID: <20260916122359.4E00E1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260916-s390-cio-ready-v3-12-39e4894637d6@kernel.org>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] s390/cio: CHSC command block alignment broken by kmalloc()
--
commit 81f70c4032ffb64f5a06eb9ca6de3a70bfe61e77
Author: Mike Rapoport (Microsoft) <rppt@kernel.org>
s390/qdio_setup: Use kmalloc() for the SSQD request
This commit replaces the use of __get_free_page() with kmalloc() and
free_page() with kfree() for the SSQD request block allocation. It assumes
there is no special requirement for the memory to come directly from the
page allocator.
Link: https://lore.kernel.org/all/635405e4-9423-4a25-a6e7-e03c8ea0bcbe@redhat.com
> diff --git a/drivers/s390/cio/qdio_setup.c b/drivers/s390/cio/qdio_setup.c
> index d8e9c0872d15d..e1c5c6a8b3b27 100644
> --- a/drivers/s390/cio/qdio_setup.c
> +++ b/drivers/s390/cio/qdio_setup.c
[ ... ]
> @@ -249,7 +249,7 @@ int qdio_setup_get_ssqd(struct qdio_irq *irq_ptr,
>
> DBF_EVENT("getssqd:%4x", schid->sch_no);
> if (!irq_ptr) {
> - ssqd = (struct chsc_ssqd_area *)__get_free_page(GFP_KERNEL);
> + ssqd = kmalloc(PAGE_SIZE, GFP_KERNEL);
[Severity: High]
Does this kmalloc() call break the strict 4K-byte physical page alignment
required for the CHSC command block?
While __get_free_page() guarantees page alignment, kmalloc(PAGE_SIZE) does
not. When memory debugging features like KASAN or SLAB_RED_ZONE are enabled,
metadata is inserted before the object, shifting the payload pointer away
from the page boundary.
Could passing this unaligned pointer to the hardware via chsc_ssqd() trigger
a hardware specification exception (PGM_SPECIFICATION) and kernel crash
during device initialization?
It is also worth noting that this same pattern seems to be repeated in
follow-up patches in the series, such as the changes in scm.c.
> if (!ssqd)
> return -ENOMEM;
> } else {
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260916-s390-cio-ready-v3-0-39e4894637d6@kernel.org?part=12
next prev parent reply other threads:[~2026-09-16 12:23 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-16 12:03 [PATCH v3 00/13] s390/cio: replace page allocator calls with k[mz]alloc() Mike Rapoport (Microsoft)
2026-09-16 12:03 ` [PATCH v3 01/13] s390/chsc: Use kzalloc() for CUBs Mike Rapoport (Microsoft)
2026-09-16 12:15 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 02/13] s390/chsc: Use kzalloc() for the SEI work area Mike Rapoport (Microsoft)
2026-09-16 12:15 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 03/13] s390/chsc_sch: Use kzalloc() for CHSC requests Mike Rapoport (Microsoft)
2026-09-16 12:14 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 04/13] s390/chsc_sch: Use __free(kfree) for synchronous " Mike Rapoport (Microsoft)
2026-09-16 12:10 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 05/13] s390/cio: Use kzalloc() for CHSC work areas Mike Rapoport (Microsoft)
2026-09-16 12:12 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 06/13] s390/cmf: Use kmalloc() for the CMB area Mike Rapoport (Microsoft)
2026-09-16 12:18 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 07/13] s390/idals: Use kmalloc() for IDAL data buffers Mike Rapoport (Microsoft)
2026-09-16 12:16 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 08/13] s390/qdio_main: Use kzalloc() for the IRQ structure Mike Rapoport (Microsoft)
2026-09-16 12:17 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 09/13] s390/qdio_main: Use kzalloc() for the QDR Mike Rapoport (Microsoft)
2026-09-16 12:16 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 10/13] s390/qdio_setup: Use kzalloc() for QDIO buffers Mike Rapoport (Microsoft)
2026-09-16 12:21 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 11/13] s390/qdio_setup: Use kmalloc() for the storage list Mike Rapoport (Microsoft)
2026-09-16 12:23 ` sashiko-bot
2026-09-16 12:03 ` [PATCH v3 12/13] s390/qdio_setup: Use kmalloc() for the SSQD request Mike Rapoport (Microsoft)
2026-09-16 12:23 ` sashiko-bot [this message]
2026-09-16 12:03 ` [PATCH v3 13/13] s390/scm: Use kmalloc() for SCM information Mike Rapoport (Microsoft)
2026-09-16 12:23 ` sashiko-bot
2026-09-16 13:06 ` [PATCH v3 00/13] s390/cio: replace page allocator calls with k[mz]alloc() Heiko Carstens
2026-09-18 16:23 ` Peter Oberparleiter
2026-09-20 18:20 ` Heiko Carstens
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=20260916122359.4E00E1F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=linux-s390@vger.kernel.org \
--cc=rppt@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.