From: Christoph Hellwig <hch@xxxxxx> Subject: mm/filemap: simplify generic_file_read_iter Avoid the pointless goto out just for returning retval. Link: https://lkml.kernel.org/r/20210122160140.223228-19-willy@xxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Reviewed-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> Cc: Miaohe Lin <linmiaohe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/filemap.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) --- a/mm/filemap.c~mm-filemap-simplify-generic_file_read_iter +++ a/mm/filemap.c @@ -2543,7 +2543,7 @@ generic_file_read_iter(struct kiocb *ioc ssize_t retval = 0; if (!count) - goto out; /* skip atime */ + return 0; /* skip atime */ if (iocb->ki_flags & IOCB_DIRECT) { struct file *file = iocb->ki_filp; @@ -2561,7 +2561,7 @@ generic_file_read_iter(struct kiocb *ioc iocb->ki_pos, iocb->ki_pos + count - 1); if (retval < 0) - goto out; + return retval; } file_accessed(file); @@ -2585,12 +2585,10 @@ generic_file_read_iter(struct kiocb *ioc */ if (retval < 0 || !count || iocb->ki_pos >= size || IS_DAX(inode)) - goto out; + return retval; } - retval = filemap_read(iocb, iter, retval); -out: - return retval; + return filemap_read(iocb, iter, retval); } EXPORT_SYMBOL(generic_file_read_iter); _