lkml.org 
[lkml]   [2019]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 068/105] ext4: ignore e_value_offs for xattrs with value-in-ea-inode
    Date
    From: Theodore Ts'o <tytso@mit.edu>

    commit e5d01196c0428a206f307e9ee5f6842964098ff0 upstream.

    In other places in fs/ext4/xattr.c, if e_value_inum is non-zero, the
    code ignores the value in e_value_offs. The e_value_offs *should* be
    zero, but we shouldn't depend upon it, since it might not be true in a
    corrupted/fuzzed file system.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=202897
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=202877
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Cc: stable@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ext4/xattr.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/fs/ext4/xattr.c
    +++ b/fs/ext4/xattr.c
    @@ -1700,7 +1700,7 @@ static int ext4_xattr_set_entry(struct e

    /* No failures allowed past this point. */

    - if (!s->not_found && here->e_value_size && here->e_value_offs) {
    + if (!s->not_found && here->e_value_size && !here->e_value_inum) {
    /* Remove the old value. */
    void *first_val = s->base + min_offs;
    size_t offs = le16_to_cpu(here->e_value_offs);

    \
     
     \ /
      Last update: 2019-05-20 14:24    [W:4.063 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site