This is a note to let you know that I've just added the patch titled udf: Check length of extended attributes and allocation descriptors to the 3.18-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: udf-check-length-of-extended-attributes-and-allocation-descriptors.patch and it can be found in the queue-3.18 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 23b133bdc452aa441fcb9b82cbf6dd05cfd342d0 Mon Sep 17 00:00:00 2001 From: Jan Kara <jack@xxxxxxx> Date: Wed, 7 Jan 2015 13:49:08 +0100 Subject: udf: Check length of extended attributes and allocation descriptors From: Jan Kara <jack@xxxxxxx> commit 23b133bdc452aa441fcb9b82cbf6dd05cfd342d0 upstream. Check length of extended attributes and allocation descriptors when loading inodes from disk. Otherwise corrupted filesystems could confuse the code and make the kernel oops. Reported-by: Carl Henrik Lunde <chlunde@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/udf/inode.c | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -1487,6 +1487,15 @@ reread: } inode->i_generation = iinfo->i_unique; + /* + * Sanity check length of allocation descriptors and extended attrs to + * avoid integer overflows + */ + if (iinfo->i_lenEAttr > bs || iinfo->i_lenAlloc > bs) + goto out; + /* Now do exact checks */ + if (udf_file_entry_alloc_offset(inode) + iinfo->i_lenAlloc > bs) + goto out; /* Sanity checks for files in ICB so that we don't get confused later */ if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) { /* Patches currently in stable-queue which might be from jack@xxxxxxx are queue-3.18/xfs-set-buf-types-when-converting-extent-formats.patch queue-3.18/xfs-inode-unlink-does-not-set-agi-buffer-type.patch queue-3.18/udf-remove-repeated-loads-blocksize.patch queue-3.18/fsnotify-fix-handling-of-renames-in-audit.patch queue-3.18/xfs-ensure-buffer-types-are-set-correctly.patch queue-3.18/udf-check-length-of-extended-attributes-and-allocation-descriptors.patch queue-3.18/axonram-fix-bug-in-direct_access.patch queue-3.18/xfs-set-superblock-buffer-type-correctly.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html