• Fei Yang's avatar
    usb: gadget: f_fs: data_len used before properly set · 5b5a979c
    Fei Yang authored
    commit 4833a94e upstream.
    
    The following line of code in function ffs_epfile_io is trying to set
    flag io_data->use_sg in case buffer required is larger than one page.
    
        io_data->use_sg = gadget->sg_supported && data_len > PAGE_SIZE;
    
    However at this point of time the variable data_len has not been set
    to the proper buffer size yet. The consequence is that io_data->use_sg
    is always set regardless what buffer size really is, because the condition
    (data_len > PAGE_SIZE) is effectively an unsigned comparison between
    -EINVAL and PAGE_SIZE which would always result in TRUE.
    
    Fixes: 772a7a72 ("usb: gadget: f_fs: Allow scatter-gather buffers")
    Signed-off-by: default avatarFei Yang <fei.yang@intel.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    5b5a979c
f_fs.c 90 KB