aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2013-03-09 15:28:44 +0100
committerJan Kara <jack@suse.cz>2013-03-11 22:05:56 +0100
commit8d0c2d10dd72c5292eda7a06231056a4c972e4cc (patch)
tree033e8160101d5811cdcbd93981be28449c1cb783
parent68ac8bfb6aa4ce1a146b5a291f03fc2dd6d17cf2 (diff)
downloadlinux-hexagon-kernel-8d0c2d10dd72c5292eda7a06231056a4c972e4cc.tar.gz
ext3: Fix format string issues
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. CC: stable@vger.kernel.org Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/ext3/super.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 1d6e2ed853229e..fb5120a5505c05 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -353,7 +353,7 @@ static struct block_device *ext3_blkdev_get(dev_t dev, struct super_block *sb)
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 **data, struct super_block *sb)
/*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;
}