lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 30 Jul 2018 10:07:12 +0800
From:   Chao Yu <yuchao0@...wei.com>
To:     Gao Xiang <hsiangkao@....com>, Chao Yu <chao@...nel.org>,
        "Greg Kroah-Hartman" <gregkh@...uxfoundation.org>
CC:     <devel@...verdev.osuosl.org>, <linux-erofs@...ts.ozlabs.org>,
        <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] staging: erofs: fix compile error without built-in
 decompression support

On 2018/7/29 13:34, Gao Xiang via Linux-erofs wrote:
> This patch fixes incorrect code snippets due to spilt code
> into small patches by mistake.
> 
> Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050747.html
> Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050750.html
> Reported-by: kbuild test robot <lkp@...el.com>
> Signed-off-by: Gao Xiang <gaoxiang25@...wei.com>
> ---
>  I test several Kconfig option combinations and all these
> combinations are successfully compiled.
> 
> Hi Chao,
>  Could you please review this two patches first before merging
> into staging-next tree?

Hi Xiang,

For this compiler issue, I think we only need to cover erofs_shrink_workstation
with marco CONFIG_EROFS_FS_ZIP, other modification like symbol name change or
relocate erofs_shrink_workstation are with other reason, so how about separate
them into different patches?

Thanks,

> 
> Thanks,
> Gao Xiang
> 
>  drivers/staging/erofs/internal.h  | 4 ++--
>  drivers/staging/erofs/super.c     | 2 +-
>  drivers/staging/erofs/unzip_vle.c | 7 ++++---
>  drivers/staging/erofs/utils.c     | 7 ++++---
>  4 files changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/staging/erofs/internal.h b/drivers/staging/erofs/internal.h
> index 669f93ae6920..367b39fe46e5 100644
> --- a/drivers/staging/erofs/internal.h
> +++ b/drivers/staging/erofs/internal.h
> @@ -260,9 +260,9 @@ static inline void erofs_workstation_cleanup_all(struct super_block *sb)
>  #ifdef EROFS_FS_HAS_MANAGED_CACHE
>  #define EROFS_UNALLOCATED_CACHED_PAGE	((void *)0x5F0EF00D)
>  
> -extern int try_to_free_all_cached_pages(struct erofs_sb_info *sbi,
> +extern int erofs_try_to_free_all_cached_pages(struct erofs_sb_info *sbi,
>  	struct erofs_workgroup *egrp);
> -extern int try_to_free_cached_page(struct address_space *mapping,
> +extern int erofs_try_to_free_cached_page(struct address_space *mapping,
>  	struct page *page);
>  #endif
>  
> diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c
> index 97da5c8a8ef3..1aec509c805f 100644
> --- a/drivers/staging/erofs/super.c
> +++ b/drivers/staging/erofs/super.c
> @@ -269,7 +269,7 @@ static int managed_cache_releasepage(struct page *page, gfp_t gfp_mask)
>  	BUG_ON(mapping->a_ops != &managed_cache_aops);
>  
>  	if (PagePrivate(page))
> -		ret = try_to_free_cached_page(mapping, page);
> +		ret = erofs_try_to_free_cached_page(mapping, page);
>  
>  	return ret;
>  }
> diff --git a/drivers/staging/erofs/unzip_vle.c b/drivers/staging/erofs/unzip_vle.c
> index 7671fe8194ce..0e410a228cd4 100644
> --- a/drivers/staging/erofs/unzip_vle.c
> +++ b/drivers/staging/erofs/unzip_vle.c
> @@ -131,8 +131,8 @@ static bool grab_managed_cache_pages(struct address_space *mapping,
>  }
>  
>  /* called by erofs_shrinker to get rid of all compressed_pages */
> -int try_to_free_all_cached_pages(struct erofs_sb_info *sbi,
> -				 struct erofs_workgroup *egrp)
> +int erofs_try_to_free_all_cached_pages(struct erofs_sb_info *sbi,
> +				       struct erofs_workgroup *egrp)
>  {
>  	struct z_erofs_vle_workgroup *const grp =
>  		container_of(egrp, struct z_erofs_vle_workgroup, obj);
> @@ -166,7 +166,8 @@ int try_to_free_all_cached_pages(struct erofs_sb_info *sbi,
>  	return 0;
>  }
>  
> -int try_to_free_cached_page(struct address_space *mapping, struct page *page)
> +int erofs_try_to_free_cached_page(struct address_space *mapping,
> +				  struct page *page)
>  {
>  	struct erofs_sb_info *const sbi = EROFS_SB(mapping->host->i_sb);
>  	const unsigned int clusterpages = erofs_clusterpages(sbi);
> diff --git a/drivers/staging/erofs/utils.c b/drivers/staging/erofs/utils.c
> index ee70bb9e1636..595cf90af9bb 100644
> --- a/drivers/staging/erofs/utils.c
> +++ b/drivers/staging/erofs/utils.c
> @@ -160,7 +160,7 @@ unsigned long erofs_shrink_workstation(struct erofs_sb_info *sbi,
>  		}
>  
>  #ifdef EROFS_FS_HAS_MANAGED_CACHE
> -		if (try_to_free_all_cached_pages(sbi, grp))
> +		if (erofs_try_to_free_all_cached_pages(sbi, grp))
>  			goto skip;
>  
>  		erofs_workgroup_unfreeze(grp, 1);
> @@ -247,7 +247,9 @@ unsigned long erofs_shrink_scan(struct shrinker *shrink,
>  		spin_unlock(&erofs_sb_list_lock);
>  		sbi->shrinker_run_no = run_no;
>  
> -		/* add scan handlers here */
> +#ifdef CONFIG_EROFS_FS_ZIP
> +		freed += erofs_shrink_workstation(sbi, nr, false);
> +#endif
>  
>  		spin_lock(&erofs_sb_list_lock);
>  		/* Get the next list element before we move this one */
> @@ -260,7 +262,6 @@ unsigned long erofs_shrink_scan(struct shrinker *shrink,
>  		list_move_tail(&sbi->list, &erofs_sb_list);
>  		mutex_unlock(&sbi->umount_mutex);
>  
> -		freed += erofs_shrink_workstation(sbi, nr, false);
>  		if (freed >= nr)
>  			break;
>  	}
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ