49 lines
1.7 KiB
Diff
49 lines
1.7 KiB
Diff
From 8d0c2d10dd72c5292eda7a06231056a4c972e4cc Mon Sep 17 00:00:00 2001
|
|
From: Lars-Peter Clausen <lars@metafoo.de>
|
|
Date: Sat, 9 Mar 2013 15:28:44 +0100
|
|
Subject: ext3: Fix format string issues
|
|
|
|
From: Lars-Peter Clausen <lars@metafoo.de>
|
|
|
|
commit 8d0c2d10dd72c5292eda7a06231056a4c972e4cc upstream.
|
|
|
|
ext3_msg() takes the printk prefix as the second parameter and the
|
|
format string as the third parameter. Two callers of ext3_msg omit the
|
|
prefix and pass the format string as the second parameter and the first
|
|
parameter to the format string as the third parameter. In both cases
|
|
this string comes from an arbitrary source. Which means the string may
|
|
contain format string characters, which will
|
|
lead to undefined and potentially harmful behavior.
|
|
|
|
The issue was introduced in commit 4cf46b67eb("ext3: Unify log messages
|
|
in ext3") and is fixed by this patch.
|
|
|
|
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
|
|
Signed-off-by: Jan Kara <jack@suse.cz>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
|
|
---
|
|
fs/ext3/super.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/fs/ext3/super.c
|
|
+++ b/fs/ext3/super.c
|
|
@@ -353,7 +353,7 @@ static struct block_device *ext3_blkdev_
|
|
return bdev;
|
|
|
|
fail:
|
|
- ext3_msg(sb, "error: failed to open journal device %s: %ld",
|
|
+ ext3_msg(sb, KERN_ERR, "error: failed to open journal device %s: %ld",
|
|
__bdevname(dev, b), PTR_ERR(bdev));
|
|
|
|
return NULL;
|
|
@@ -887,7 +887,7 @@ static ext3_fsblk_t get_sb_block(void **
|
|
/*todo: use simple_strtoll with >32bit ext3 */
|
|
sb_block = simple_strtoul(options, &options, 0);
|
|
if (*options && *options != ',') {
|
|
- ext3_msg(sb, "error: invalid sb specification: %s",
|
|
+ ext3_msg(sb, KERN_ERR, "error: invalid sb specification: %s",
|
|
(char *) *data);
|
|
return 1;
|
|
}
|