projects/linux·commit f24fe98d

Merge tag 'md/4.3-rc4-fix' of git://neil.brown.name/md

f24fe98d · Linus Torvalds <[email protected]> · 2015-10-11 09:35:51 -07:00

Pull md bugfix from Neil Brown:
 "One bug fix for raid1/raid10.

  Very careless bug earler in 4.3-rc, now fixed :-)"

* tag 'md/4.3-rc4-fix' of git://neil.brown.name/md:
  crash in md-raid1 and md-raid10 due to incorrect list manipulation
Commit
f24fe98df8448d60867d2b81a1a67722a6568b19
Parents
4a06c8ac · a452744b

Merge commit. Changes below are compared with the first parent: 4a06c8ac.

Changes

2 files changed · +4 −4

FileStatusAddDelContent
drivers/md/raid1.cmodified+2−2View file
drivers/md/raid10.cmodified+2−2View file

drivers/md/raid1.c

View file
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 049df6c..ddd8a5f 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -2382,8 +2382,8 @@ static void raid1d(struct md_thread *thread)
}
spin_unlock_irqrestore(&conf->device_lock, flags);
while (!list_empty(&tmp)) {
- r1_bio = list_first_entry(&conf->bio_end_io_list,
- struct r1bio, retry_list);
+ r1_bio = list_first_entry(&tmp, struct r1bio,
+ retry_list);
list_del(&r1_bio->retry_list);
raid_end_bio_io(r1_bio);
}

drivers/md/raid10.c

View file
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 7c99a40..9f69dc5 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -2688,8 +2688,8 @@ static void raid10d(struct md_thread *thread)
}
spin_unlock_irqrestore(&conf->device_lock, flags);
while (!list_empty(&tmp)) {
- r10_bio = list_first_entry(&conf->bio_end_io_list,
- struct r10bio, retry_list);
+ r10_bio = list_first_entry(&tmp, struct r10bio,
+ retry_list);
list_del(&r10_bio->retry_list);
raid_end_bio_io(r10_bio);
}