On Sat 28-02-15 20:23:32, [email protected] wrote:
>
> The patch below does not apply to the 3.19-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <[email protected]>.
Strange. It applies fine to 3.19 for me. Can you check what has happened?
Honza
>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> From 23b133bdc452aa441fcb9b82cbf6dd05cfd342d0 Mon Sep 17 00:00:00 2001
> From: Jan Kara <[email protected]>
> Date: Wed, 7 Jan 2015 13:49:08 +0100
> Subject: [PATCH] udf: Check length of extended attributes and allocation
> descriptors
>
> 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 <[email protected]>
> CC: [email protected]
> Signed-off-by: Jan Kara <[email protected]>
>
> diff --git a/fs/udf/inode.c b/fs/udf/inode.c
> index 95cb6970c3ea..7b72b7dd8906 100644
> --- 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) {
> /*
>
--
Jan Kara <[email protected]>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html