Don't dereference em if it's NULL or an error pointer. Signed-off-by: Roel Kluin <roel.kl...@gmail.com> --- I just noticed this by code analysis. It wasn't tested in any way.
fs/btrfs/inode.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index c038644..d4a37f8 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -1787,7 +1787,8 @@ static int btrfs_io_failed_hook(struct bio *failed_bio, read_lock(&em_tree->lock); em = lookup_extent_mapping(em_tree, start, failrec->len); - if (em->start > start || em->start + em->len < start) { + if (em && !IS_ERR(em) && (em->start > start || + em->start + em->len < start)) { free_extent_map(em); em = NULL; } -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html