4.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Hailong Liu <liu.hailong6@xxxxxxxxxx> commit e7de2590f18a272e63732b9d519250d1b522b2c4 upstream. uio_mmap has multiple fail paths to set return value to nonzero then goto out. However, it always returns *0* from the *out* at end, and this will mislead callers who check the return value of this function. Fixes: 57c5f4df0a5a0ee ("uio: fix crash after the device is unregistered") CC: Xiubo Li <xiubli@xxxxxxxxxx> Signed-off-by: Hailong Liu <liu.hailong6@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Jiang Biao <jiang.biao2@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/uio/uio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c @@ -814,7 +814,7 @@ static int uio_mmap(struct file *filep, out: mutex_unlock(&idev->info_lock); - return 0; + return ret; } static const struct file_operations uio_fops = {