Re: [PATCH 01/23] ocfs2: Handle a symlink read error correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2024/12/6 01:16, Matthew Wilcox (Oracle) wrote:
> If we can't read the buffer, be sure to unlock the page before
> returning.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
>  fs/ocfs2/symlink.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/ocfs2/symlink.c b/fs/ocfs2/symlink.c
> index d4c5fdcfa1e4..f5cf2255dc09 100644
> --- a/fs/ocfs2/symlink.c
> +++ b/fs/ocfs2/symlink.c
> @@ -65,7 +65,7 @@ static int ocfs2_fast_symlink_read_folio(struct file *f, struct folio *folio)
>  

Better to move calling ocfs2_read_inode_block() here.

Thanks,
Joseph

>  	if (status < 0) {
>  		mlog_errno(status);
> -		return status;
> +		goto out;
>  	}
>  
>  	fe = (struct ocfs2_dinode *) bh->b_data;
> @@ -76,9 +76,10 @@ static int ocfs2_fast_symlink_read_folio(struct file *f, struct folio *folio)
>  	memcpy(kaddr, link, len + 1);
>  	kunmap_atomic(kaddr);
>  	SetPageUptodate(page);
> +out:
>  	unlock_page(page);
>  	brelse(bh);
> -	return 0;
> +	return status;
>  }
>  
>  const struct address_space_operations ocfs2_fast_symlink_aops = {





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux