Skip to content

Btrfs: bugs found by sparse and RCU strings

Omar Sandoval linux-btrfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 10 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7Btrfs: fix blk_status_t/errno confusionfs/btrfs/disk-io.c fs/btrfs/inode.c fs/btrfs/raid56.c +2 more+64 -603 replies
2/7Btrfs: fix incorrect {node,sector}size endianness from BTRFS_IOC_FS_INFOfs/btrfs/ioctl.c+3 -31 reply
3/7Move Btrfs RCU string to common libraryfs/btrfs/check-integrity.c fs/btrfs/dev-replace.c fs/btrfs/disk-io.c +8 more+187 -1412 replies
4/7Btrfs: refactor btrfs_device->name updatesfs/btrfs/volumes.c fs/btrfs/volumes.h+79 -400 replies
5/7Btrfs: fix suspicious RCU in BTRFS_IOC_DEV_INFOfs/btrfs/ioctl.c+5 -52 replies
6/7Btrfs: make some volumes.c functions staticfs/btrfs/volumes.c+8 -61 reply
7/7Btrfs: fix __user casting in ioctl.cfs/btrfs/ioctl.c+5 -51 reply

Reviews trailers per patch

4 of 7 patches have a Reviewed-by or Acked-by.

PatchJosh TriplettPaul E. McKenneyDavid SterbaLiu Bo
1/7R-b R-b
2/7R-b
3/7R-b A-b
4/7
5/7
6/7
7/7R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v1 thread

Cover letter [PATCH 0/7] Btrfs: bugs found by sparse and RCU strings

From: Omar Sandoval <[email protected]>

I came across my ancient RCU string branch [1] and decided to revive it and finally put it to rest. In the process of checking it with sparse, I found a handful of other issues.

Patch 1 should probably go in 4.13, as it fixes bugs introduced this cycle by the conversion to blk_status_t. Patch 2 is an old bug, so it could wait for 4.14 but it might as well go in for 4.13. Patches 3-5 are the RCU string series. Patches 6 and 7 are minor cleanups found by sparse. Patches 3-7 can wait for 4.14 or 4.15.

Based on 4.13-rc6.

Thanks!

1: https://lwn.net/Articles/629048/

Omar Sandoval (7):
Btrfs: fix blk_status_t/errno confusion
Btrfs: fix incorrect {node,sector}size endianness from
BTRFS_IOC_FS_INFO
Move Btrfs RCU string to common library
Btrfs: refactor btrfs_device->name updates
Btrfs: fix suspicious RCU in BTRFS_IOC_DEV_INFO
Btrfs: make some volumes.c functions static
Btrfs: fix __user casting in ioctl.c

 fs/btrfs/check-integrity.c |  12 +--
 fs/btrfs/dev-replace.c     |  37 +++++----
 fs/btrfs/disk-io.c         |  10 +--
 fs/btrfs/extent_io.c       |   8 +-
 fs/btrfs/inode.c           |  70 ++++++++--------
 fs/btrfs/ioctl.c           |  30 +++----
 fs/btrfs/raid56.c          |  35 ++++----
 fs/btrfs/rcu-string.h      |  56 -------------
 fs/btrfs/scrub.c           |  42 +++++-----
 fs/btrfs/super.c           |   7 +-
 fs/btrfs/volumes.c         | 199 +++++++++++++++++++++++++++------------------
 fs/btrfs/volumes.h         |   8 +-
 include/linux/rcustring.h  |  97 ++++++++++++++++++++++
 13 files changed, 351 insertions(+), 260 deletions(-)
 delete mode 100644 fs/btrfs/rcu-string.h
 create mode 100644 include/linux/rcustring.h
Signature · 1 line
2.14.1