[PATCH v5 0/3] Fix bio chain related issues

From: zhangshida

Date: Wed Dec 03 2025 - 21:48:15 EST


From: Shida Zhang <zhangshida@xxxxxxxxxx>

This series addresses incorrect usage of bio_chain_endio().

Note: Patch 2 depends on changes introduced in patch 1. Therefore, patch
1 is still included in this series even though Coly suggested sending it
directly to the bcache mailing list:
https://lore.kernel.org/all/20251201082611.2703889-1-zhangshida@xxxxxxxxxx/

V5:
- Patch 2: Replaced BUG_ON(1) with BUG().
- Patch 3: Rephrased the commit message.

v4:
- Removed unnecessary cleanups from the series.
https://lore.kernel.org/all/20251201090442.2707362-1-zhangshida@xxxxxxxxxx/

v3:
- Remove the dead code in bio_chain_endio and drop patch 1 in v2
- Refined the __bio_chain_endio changes with minor modifications (was
patch 02 in v2).
- Dropped cleanup patches 06 and 12 from v2 due to an incorrect 'prev'
and 'new' order.
https://lore.kernel.org/all/20251129090122.2457896-1-zhangshida@xxxxxxxxxx/

v2:
- Added fix for bcache.
- Added BUG_ON() in bio_chain_endio().
- Enhanced commit messages for each patch
https://lore.kernel.org/all/20251128083219.2332407-1-zhangshida@xxxxxxxxxx/

v1:
https://lore.kernel.org/all/20251121081748.1443507-1-zhangshida@xxxxxxxxxx/

Shida Zhang (3):
bcache: fix improper use of bi_end_io
block: prohibit calls to bio_chain_endio
block: prevent race condition on bi_status in __bio_chain_endio

block/bio.c | 11 ++++++++---
drivers/md/bcache/request.c | 6 +++---
2 files changed, 11 insertions(+), 6 deletions(-)

--
2.34.1