From: Dennis Zhou <dennis@kernel.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: Tejun Heo <tj@kernel.org>,
Valdis Kletnieks <valdis.kletnieks@vt.edu>,
kernel-team@fb.com, linux-block@vger.kernel.org,
linux-kernel@vger.kernel.org, Dennis Zhou <dennis@kernel.org>
Subject: [PATCH 0/2] block: fixes for always associate blkg
Date: Sat, 20 Oct 2018 14:56:10 -0400 [thread overview]
Message-ID: <20181020185612.51587-1-dennis@kernel.org> (raw)
Hi everyone,
It was reported in [1] that blk_get_rl() cleanup patch was causing a
null pointer dereference. After some back and forth debugging with
Valdis, it turns out I wasn't properly handling association with
recursive calls to make_request().
Another issue was identified with the blk_get_rl() update as it is
possible under certain circumstances that a blkg cannot be allocated
when called in blk_get_rl(). This could result in the blkcg_root being
returned. However, the blkcg_root is a special case where all blkgs
share the request_queue's request_list.
The original series can be found at [2].
[1] https://lore.kernel.org/lkml/13987.1539646128@turing-police.cc.vt.edu/
[2] https://lore.kernel.org/lkml/20180911184137.35897-1-dennisszhou@gmail.com/
This patchset contains the following 2 patches:
0001-blkcg-fix-edge-case-for-blk_get_rl-under-memory-pres.patch
0002-blkcg-reassociate-bios-when-make_request-is-called-r.patch
0001 addresses an edge case where a blkg cannot be created and can
possibly return a blkg associated with the blkcg_root. 0002 fixes the
stale association when make_request() is called recursively.
This patchset is on top of axboe#for-4.20/block bbc152825afc.
diffstats below:
Dennis Zhou (2):
blkcg: fix edge case for blk_get_rl() under memory pressure
blkcg: reassociate bios when make_request() is called recursively
block/bio.c | 20 ++++++++++++++++++++
block/blk-core.c | 1 +
include/linux/bio.h | 3 +++
include/linux/blk-cgroup.h | 2 +-
4 files changed, 25 insertions(+), 1 deletion(-)
Thanks,
Dennis
next reply other threads:[~2018-10-20 18:56 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-20 18:56 Dennis Zhou [this message]
2018-10-20 18:56 ` [PATCH 1/2] blkcg: fix edge case for blk_get_rl() under memory pressure Dennis Zhou
2018-10-20 18:56 ` [PATCH 2/2] blkcg: reassociate bios when make_request() is called recursively Dennis Zhou
2018-10-20 21:40 ` [PATCH 0/2] block: fixes for always associate blkg Jens Axboe
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=20181020185612.51587-1-dennis@kernel.org \
--to=dennis@kernel.org \
--cc=axboe@kernel.dk \
--cc=kernel-team@fb.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
--cc=valdis.kletnieks@vt.edu \
/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.