Re: [PATCH 03/10] ecryptfs: Convert ecryptfs_copy_up_encrypted_with_header() to take a folio

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

 



On Thu, Oct 17, 2024 at 04:16:58PM +0100, Matthew Wilcox (Oracle) wrote:
> Both callers have a folio, so pass it in and use it throughout.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>

Looks good.
Reviewed-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx>
> ---
>  fs/ecryptfs/mmap.c | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/fs/ecryptfs/mmap.c b/fs/ecryptfs/mmap.c
> index 346ed5f7ff8d..f7525a906ef7 100644
> --- a/fs/ecryptfs/mmap.c
> +++ b/fs/ecryptfs/mmap.c
> @@ -104,7 +104,7 @@ static void strip_xattr_flag(char *page_virt,
>   * seeing, with the header information inserted.
>   */
>  static int
> -ecryptfs_copy_up_encrypted_with_header(struct page *page,
> +ecryptfs_copy_up_encrypted_with_header(struct folio *folio,
>  				       struct ecryptfs_crypt_stat *crypt_stat)
>  {
>  	loff_t extent_num_in_page = 0;
> @@ -113,9 +113,9 @@ ecryptfs_copy_up_encrypted_with_header(struct page *page,
>  	int rc = 0;
>  
>  	while (extent_num_in_page < num_extents_per_page) {
> -		loff_t view_extent_num = ((((loff_t)page->index)
> +		loff_t view_extent_num = ((loff_t)folio->index
>  					   * num_extents_per_page)
> -					  + extent_num_in_page);
> +					  + extent_num_in_page;
>  		size_t num_header_extents_at_front =
>  			(crypt_stat->metadata_size / crypt_stat->extent_size);
>  
> @@ -123,21 +123,21 @@ ecryptfs_copy_up_encrypted_with_header(struct page *page,
>  			/* This is a header extent */
>  			char *page_virt;
>  
> -			page_virt = kmap_local_page(page);
> +			page_virt = kmap_local_folio(folio, 0);
>  			memset(page_virt, 0, PAGE_SIZE);
>  			/* TODO: Support more than one header extent */
>  			if (view_extent_num == 0) {
>  				size_t written;
>  
>  				rc = ecryptfs_read_xattr_region(
> -					page_virt, page->mapping->host);
> +					page_virt, folio->mapping->host);
>  				strip_xattr_flag(page_virt + 16, crypt_stat);
>  				ecryptfs_write_header_metadata(page_virt + 20,
>  							       crypt_stat,
>  							       &written);
>  			}
>  			kunmap_local(page_virt);
> -			flush_dcache_page(page);
> +			flush_dcache_folio(folio);
>  			if (rc) {
>  				printk(KERN_ERR "%s: Error reading xattr "
>  				       "region; rc = [%d]\n", __func__, rc);
> @@ -150,9 +150,9 @@ ecryptfs_copy_up_encrypted_with_header(struct page *page,
>  				 - crypt_stat->metadata_size);
>  
>  			rc = ecryptfs_read_lower_page_segment(
> -				page, (lower_offset >> PAGE_SHIFT),
> +				&folio->page, (lower_offset >> PAGE_SHIFT),
>  				(lower_offset & ~PAGE_MASK),
> -				crypt_stat->extent_size, page->mapping->host);
> +				crypt_stat->extent_size, folio->mapping->host);
>  			if (rc) {
>  				printk(KERN_ERR "%s: Error attempting to read "
>  				       "extent at offset [%lld] in the lower "
> @@ -189,7 +189,7 @@ static int ecryptfs_read_folio(struct file *file, struct folio *folio)
>  						      inode);
>  	} else if (crypt_stat->flags & ECRYPTFS_VIEW_AS_ENCRYPTED) {
>  		if (crypt_stat->flags & ECRYPTFS_METADATA_IN_XATTR) {
> -			rc = ecryptfs_copy_up_encrypted_with_header(&folio->page,
> +			rc = ecryptfs_copy_up_encrypted_with_header(folio,
>  								    crypt_stat);
>  			if (rc) {
>  				printk(KERN_ERR "%s: Error attempting to copy "
> @@ -293,7 +293,7 @@ static int ecryptfs_write_begin(struct file *file,
>  		} else if (crypt_stat->flags & ECRYPTFS_VIEW_AS_ENCRYPTED) {
>  			if (crypt_stat->flags & ECRYPTFS_METADATA_IN_XATTR) {
>  				rc = ecryptfs_copy_up_encrypted_with_header(
> -					&folio->page, crypt_stat);
> +					folio, crypt_stat);
>  				if (rc) {
>  					printk(KERN_ERR "%s: Error attempting "
>  					       "to copy the encrypted content "
> -- 
> 2.43.0
> 




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux