From: Christian Loehle <CLoehle@hyperstone.com>
To: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [PATCH] mmc: block: ensure error propagation for non-blk
Date: Tue, 6 Jun 2023 12:58:39 +0000 [thread overview]
Message-ID: <81262621f64e41a1ae417a64f47ee3fa@hyperstone.com> (raw)
In-Reply-To: <2023060547-wildfowl-courier-9373@gregkh>
[-- Attachment #1: Type: text/plain, Size: 1937 bytes --]
Hey Greg,
The fix should be applied to all stable trees.
I backported one that works for
4.14
4.19
5.4
5.10
And one for
5.15
Regards,
Christian
-----Original Message-----
From: gregkh@linuxfoundation.org <gregkh@linuxfoundation.org>
Sent: Monday, June 5, 2023 9:50 PM
To: Christian Loehle <CLoehle@hyperstone.com>
Cc: stable@vger.kernel.org
Subject: Re: [PATCH] mmc: block: ensure error propagation for non-blk
CAUTION: this mail comes from external!/ACHTUNG: Diese Mail kommt von extern!
On Mon, Jun 05, 2023 at 01:46:16PM +0000, Christian Loehle wrote:
> commit 003fb0a51162d940f25fc35e70b0996a12c9e08a upstream.
>
> Requests to the mmc layer usually come through a block device IO.
> The exceptions are the ioctl interface, RPMB chardev ioctl and
> debugfs, which issue their own blk_mq requests through blk_execute_rq
> and do not query the BLK_STS error but the mmcblk-internal
> drv_op_result. This patch ensures that drv_op_result defaults to an
> error and has to be overwritten by the operation to be considered
> successful.
>
> The behavior leads to a bug where the request never propagates the
> error, e.g. by directly erroring out at mmc_blk_mq_issue_rq if
> mmc_blk_part_switch fails. The ioctl caller of the rpmb chardev then
> can never see an error (BLK_STS_IOERR, but drv_op_result is unchanged)
> and thus may assume that their call executed successfully when it did not.
>
> While always checking the blk_execute_rq return value would be
> advised, let's eliminate the error by always setting drv_op_result as
> -EIO to be overwritten on success (or other error)
>
> Fixes: 614f0388f580 ("mmc: block: move single ioctl() commands to
> block requests")
> Signed-off-by: Christian Loehle <cloehle@hyperstone.com>
> ---
> drivers/mmc/core/block.c | 5 +++++
> 1 file changed, 5 insertions(+)
What stable tree(s) do you want this applied to?
thanks,
greg k-h
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 10302 bytes --]
next prev parent reply other threads:[~2023-06-06 12:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-05 13:46 [PATCH] mmc: block: ensure error propagation for non-blk Christian Loehle
2023-06-05 19:50 ` gregkh
2023-06-06 12:58 ` Christian Loehle [this message]
2023-06-06 13:05 ` gregkh
-- strict thread matches above, loose matches on Subject: below --
2023-06-13 12:43 Christian Loehle
2023-06-14 10:20 ` Ulf Hansson
2023-06-19 7:46 ` gregkh
2023-06-13 12:37 Christian Loehle
2023-06-14 10:20 ` Ulf Hansson
2023-06-05 12:14 Christian Loehle
[not found] <30da2b2257ee48d3808d6ae5f1972b9e@hyperstone.com>
2023-06-01 9:45 ` gregkh
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=81262621f64e41a1ae417a64f47ee3fa@hyperstone.com \
--to=cloehle@hyperstone.com \
--cc=gregkh@linuxfoundation.org \
--cc=stable@vger.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 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.