Skip to contentSkip to conversation

Patch "badblocks: fix wrong return value in badblocks_set if badblocks are disabled" has been added to the 4.14-stable tree

PATCH [email protected] 1 participant 1 message Dec 18, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

badblocks: fix wrong return value in badblocks_set if badblocks are disabled

to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
badblocks-fix-wrong-return-value-in-badblocks_set-if-badblocks-are-disabled.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Mon Dec 18 13:28:59 CET 2017

From: Liu Bo <[email protected]>
Date: Fri, 3 Nov 2017 11:24:44 -0600
Subject: badblocks: fix wrong return value in badblocks_set if badblocks are disabled

From: Liu Bo <[email protected]>

[ Upstream commit 39b4954c0a1556f8f7f1fdcf59a227117fcd8a0b ]

MD's rdev_set_badblocks() expects that badblocks_set() returns 1 if badblocks are disabled, otherwise, rdev_set_badblocks() will record superblock changes and return success in that case and md will fail to report an IO error which it should.

This bug has existed since badblocks were introduced in commit 9e0e252a048b ("badblocks: Add core badblock management code").

---
 block/badblocks.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
block/badblocks.c +1 -1
@@ -178,7 +178,7 @@ int badblocks_set(struct badblocks *bb,
 
 	if (bb->shift < 0)
 		/* badblocks are disabled */
-		return 0;
+		return 1;
 
 	if (bb->shift) {
 		/* round the start down, and the end up */

Patches currently in stable-queue which might be from [email protected] are

queue-4.14/badblocks-fix-wrong-return-value-in-badblocks_set-if-badblocks-are-disabled.patch queue-4.14/btrfs-fix-false-eio-for-missing-device.patch