All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kefeng Wang <wangkefeng.wang@huawei.com>
To: kernel test robot <lkp@intel.com>, <catalin.marinas@arm.com>,
	<will@kernel.org>, <akpm@linux-foundation.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Cc: <kbuild-all@lists.01.org>, <linux-mm@kvack.org>,
	<hch@infradead.org>, <arnd@arndb.de>, <anshuman.khandual@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v5 1/6] ARM: mm: kill unused runtime hook arch_iounmap()
Date: Tue, 14 Jun 2022 14:12:30 +0800	[thread overview]
Message-ID: <85ee296a-b7cd-b4e0-e569-19f35c5519b7@huawei.com> (raw)
In-Reply-To: <202206141355.p1aTShLo-lkp@intel.com>


On 2022/6/14 13:47, kernel test robot wrote:
> Hi Kefeng,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.19-rc2 next-20220610]
> [cannot apply to arm64/for-next/core arnd-asm-generic/master akpm-mm/mm-everything]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Kefeng-Wang/arm64-Cleanup-ioremap-and-support-ioremap_prot/20220607-204345
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e71e60cd74df9386c3f684c54888f2367050b831
> config: arm-randconfig-s031-20220613 (https://download.01.org/0day-ci/archive/20220614/202206141355.p1aTShLo-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # apt-get install sparse
>          # sparse version: v0.6.4-30-g92122700-dirty
>          # https://github.com/intel-lab-lkp/linux/commit/5a6f8121572d1f82b599d118e9070ef4ba16183b
>          git remote add linux-review https://github.com/intel-lab-lkp/linux
>          git fetch --no-tags linux-review Kefeng-Wang/arm64-Cleanup-ioremap-and-support-ioremap_prot/20220607-204345
>          git checkout 5a6f8121572d1f82b599d118e9070ef4ba16183b
>          # save the config file
>          mkdir build_dir && cp config build_dir/.config
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash fs/pstore/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
>
>
> sparse warnings: (new ones prefixed by >>)
>     fs/pstore/ram_core.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *to @@     got unsigned char * @@
>     fs/pstore/ram_core.c:278:9: sparse:     expected void volatile [noderef] __iomem *to
>     fs/pstore/ram_core.c:278:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:311:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *from @@     got unsigned char * @@
>     fs/pstore/ram_core.c:311:9: sparse:     expected void const volatile [noderef] __iomem *from
>     fs/pstore/ram_core.c:311:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:312:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *from @@     got unsigned char * @@
>     fs/pstore/ram_core.c:312:9: sparse:     expected void const volatile [noderef] __iomem *from
>     fs/pstore/ram_core.c:312:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:466:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *va @@     got void [noderef] __iomem * @@
>     fs/pstore/ram_core.c:466:20: sparse:     expected void *va
>     fs/pstore/ram_core.c:466:20: sparse:     got void [noderef] __iomem *
>     fs/pstore/ram_core.c:468:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *va @@     got void [noderef] __iomem * @@
>     fs/pstore/ram_core.c:468:20: sparse:     expected void *va
>     fs/pstore/ram_core.c:468:20: sparse:     got void [noderef] __iomem *
>>> fs/pstore/ram_core.c:556:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *io_addr @@     got void *vaddr @@
>     fs/pstore/ram_core.c:556:36: sparse:     expected void volatile [noderef] __iomem *io_addr
>     fs/pstore/ram_core.c:556:36: sparse:     got void *vaddr
>     fs/pstore/ram_core.c:69:17: sparse: sparse: context imbalance in 'buffer_start_add' - unexpected unlock
>     fs/pstore/ram_core.c:95:17: sparse: sparse: context imbalance in 'buffer_size_add' - unexpected unlock
>
> vim +556 fs/pstore/ram_core.c
>
> bb4206f2042d95 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  545
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  546  void persistent_ram_free(struct persistent_ram_zone *prz)
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  547  {
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  548  	if (!prz)
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  549  		return;
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  550
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  551  	if (prz->vaddr) {
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  552  		if (pfn_valid(prz->paddr >> PAGE_SHIFT)) {
> 831b624df1b420 fs/pstore/ram_core.c                     Bin Yang        2018-09-12  553  			/* We must vunmap() at page-granularity. */
> 831b624df1b420 fs/pstore/ram_core.c                     Bin Yang        2018-09-12  554  			vunmap(prz->vaddr - offset_in_page(prz->paddr));
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  555  		} else {
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11 @556  			iounmap(prz->vaddr);

The pstore should be fixed, not this patch,

     iounmap((void __iomem *)prz->vaddr);


> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  557  			release_mem_region(prz->paddr, prz->size);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  558  		}
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  559  		prz->vaddr = NULL;
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  560  	}
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  561  	if (prz->rs_decoder) {
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  562  		free_rs(prz->rs_decoder);
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  563  		prz->rs_decoder = NULL;
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  564  	}
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  565  	kfree(prz->ecc_info.par);
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  566  	prz->ecc_info.par = NULL;
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  567
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  568  	persistent_ram_free_old(prz);
> 1227daa43bce13 fs/pstore/ram_core.c                     Kees Cook       2018-10-17  569  	kfree(prz->label);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  570  	kfree(prz);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  571  }
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  572
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Kefeng Wang <wangkefeng.wang@huawei.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v5 1/6] ARM: mm: kill unused runtime hook arch_iounmap()
Date: Tue, 14 Jun 2022 14:12:30 +0800	[thread overview]
Message-ID: <85ee296a-b7cd-b4e0-e569-19f35c5519b7@huawei.com> (raw)
In-Reply-To: <202206141355.p1aTShLo-lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 7550 bytes --]


On 2022/6/14 13:47, kernel test robot wrote:
> Hi Kefeng,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.19-rc2 next-20220610]
> [cannot apply to arm64/for-next/core arnd-asm-generic/master akpm-mm/mm-everything]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Kefeng-Wang/arm64-Cleanup-ioremap-and-support-ioremap_prot/20220607-204345
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e71e60cd74df9386c3f684c54888f2367050b831
> config: arm-randconfig-s031-20220613 (https://download.01.org/0day-ci/archive/20220614/202206141355.p1aTShLo-lkp(a)intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # apt-get install sparse
>          # sparse version: v0.6.4-30-g92122700-dirty
>          # https://github.com/intel-lab-lkp/linux/commit/5a6f8121572d1f82b599d118e9070ef4ba16183b
>          git remote add linux-review https://github.com/intel-lab-lkp/linux
>          git fetch --no-tags linux-review Kefeng-Wang/arm64-Cleanup-ioremap-and-support-ioremap_prot/20220607-204345
>          git checkout 5a6f8121572d1f82b599d118e9070ef4ba16183b
>          # save the config file
>          mkdir build_dir && cp config build_dir/.config
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash fs/pstore/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
>
>
> sparse warnings: (new ones prefixed by >>)
>     fs/pstore/ram_core.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *to @@     got unsigned char * @@
>     fs/pstore/ram_core.c:278:9: sparse:     expected void volatile [noderef] __iomem *to
>     fs/pstore/ram_core.c:278:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:311:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *from @@     got unsigned char * @@
>     fs/pstore/ram_core.c:311:9: sparse:     expected void const volatile [noderef] __iomem *from
>     fs/pstore/ram_core.c:311:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:312:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *from @@     got unsigned char * @@
>     fs/pstore/ram_core.c:312:9: sparse:     expected void const volatile [noderef] __iomem *from
>     fs/pstore/ram_core.c:312:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:466:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *va @@     got void [noderef] __iomem * @@
>     fs/pstore/ram_core.c:466:20: sparse:     expected void *va
>     fs/pstore/ram_core.c:466:20: sparse:     got void [noderef] __iomem *
>     fs/pstore/ram_core.c:468:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *va @@     got void [noderef] __iomem * @@
>     fs/pstore/ram_core.c:468:20: sparse:     expected void *va
>     fs/pstore/ram_core.c:468:20: sparse:     got void [noderef] __iomem *
>>> fs/pstore/ram_core.c:556:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *io_addr @@     got void *vaddr @@
>     fs/pstore/ram_core.c:556:36: sparse:     expected void volatile [noderef] __iomem *io_addr
>     fs/pstore/ram_core.c:556:36: sparse:     got void *vaddr
>     fs/pstore/ram_core.c:69:17: sparse: sparse: context imbalance in 'buffer_start_add' - unexpected unlock
>     fs/pstore/ram_core.c:95:17: sparse: sparse: context imbalance in 'buffer_size_add' - unexpected unlock
>
> vim +556 fs/pstore/ram_core.c
>
> bb4206f2042d95 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  545
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  546  void persistent_ram_free(struct persistent_ram_zone *prz)
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  547  {
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  548  	if (!prz)
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  549  		return;
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  550
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  551  	if (prz->vaddr) {
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  552  		if (pfn_valid(prz->paddr >> PAGE_SHIFT)) {
> 831b624df1b420 fs/pstore/ram_core.c                     Bin Yang        2018-09-12  553  			/* We must vunmap() at page-granularity. */
> 831b624df1b420 fs/pstore/ram_core.c                     Bin Yang        2018-09-12  554  			vunmap(prz->vaddr - offset_in_page(prz->paddr));
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  555  		} else {
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11 @556  			iounmap(prz->vaddr);

The pstore should be fixed, not this patch,

     iounmap((void __iomem *)prz->vaddr);


> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  557  			release_mem_region(prz->paddr, prz->size);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  558  		}
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  559  		prz->vaddr = NULL;
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  560  	}
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  561  	if (prz->rs_decoder) {
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  562  		free_rs(prz->rs_decoder);
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  563  		prz->rs_decoder = NULL;
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  564  	}
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  565  	kfree(prz->ecc_info.par);
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  566  	prz->ecc_info.par = NULL;
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  567
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  568  	persistent_ram_free_old(prz);
> 1227daa43bce13 fs/pstore/ram_core.c                     Kees Cook       2018-10-17  569  	kfree(prz->label);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  570  	kfree(prz);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  571  }
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  572
>

WARNING: multiple messages have this Message-ID (diff)
From: Kefeng Wang <wangkefeng.wang@huawei.com>
To: kernel test robot <lkp@intel.com>, <catalin.marinas@arm.com>,
	<will@kernel.org>, <akpm@linux-foundation.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Cc: <kbuild-all@lists.01.org>, <linux-mm@kvack.org>,
	<hch@infradead.org>, <arnd@arndb.de>, <anshuman.khandual@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v5 1/6] ARM: mm: kill unused runtime hook arch_iounmap()
Date: Tue, 14 Jun 2022 14:12:30 +0800	[thread overview]
Message-ID: <85ee296a-b7cd-b4e0-e569-19f35c5519b7@huawei.com> (raw)
In-Reply-To: <202206141355.p1aTShLo-lkp@intel.com>


On 2022/6/14 13:47, kernel test robot wrote:
> Hi Kefeng,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.19-rc2 next-20220610]
> [cannot apply to arm64/for-next/core arnd-asm-generic/master akpm-mm/mm-everything]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Kefeng-Wang/arm64-Cleanup-ioremap-and-support-ioremap_prot/20220607-204345
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e71e60cd74df9386c3f684c54888f2367050b831
> config: arm-randconfig-s031-20220613 (https://download.01.org/0day-ci/archive/20220614/202206141355.p1aTShLo-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # apt-get install sparse
>          # sparse version: v0.6.4-30-g92122700-dirty
>          # https://github.com/intel-lab-lkp/linux/commit/5a6f8121572d1f82b599d118e9070ef4ba16183b
>          git remote add linux-review https://github.com/intel-lab-lkp/linux
>          git fetch --no-tags linux-review Kefeng-Wang/arm64-Cleanup-ioremap-and-support-ioremap_prot/20220607-204345
>          git checkout 5a6f8121572d1f82b599d118e9070ef4ba16183b
>          # save the config file
>          mkdir build_dir && cp config build_dir/.config
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash fs/pstore/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
>
>
> sparse warnings: (new ones prefixed by >>)
>     fs/pstore/ram_core.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *to @@     got unsigned char * @@
>     fs/pstore/ram_core.c:278:9: sparse:     expected void volatile [noderef] __iomem *to
>     fs/pstore/ram_core.c:278:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:311:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *from @@     got unsigned char * @@
>     fs/pstore/ram_core.c:311:9: sparse:     expected void const volatile [noderef] __iomem *from
>     fs/pstore/ram_core.c:311:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:312:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *from @@     got unsigned char * @@
>     fs/pstore/ram_core.c:312:9: sparse:     expected void const volatile [noderef] __iomem *from
>     fs/pstore/ram_core.c:312:9: sparse:     got unsigned char *
>     fs/pstore/ram_core.c:466:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *va @@     got void [noderef] __iomem * @@
>     fs/pstore/ram_core.c:466:20: sparse:     expected void *va
>     fs/pstore/ram_core.c:466:20: sparse:     got void [noderef] __iomem *
>     fs/pstore/ram_core.c:468:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *va @@     got void [noderef] __iomem * @@
>     fs/pstore/ram_core.c:468:20: sparse:     expected void *va
>     fs/pstore/ram_core.c:468:20: sparse:     got void [noderef] __iomem *
>>> fs/pstore/ram_core.c:556:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *io_addr @@     got void *vaddr @@
>     fs/pstore/ram_core.c:556:36: sparse:     expected void volatile [noderef] __iomem *io_addr
>     fs/pstore/ram_core.c:556:36: sparse:     got void *vaddr
>     fs/pstore/ram_core.c:69:17: sparse: sparse: context imbalance in 'buffer_start_add' - unexpected unlock
>     fs/pstore/ram_core.c:95:17: sparse: sparse: context imbalance in 'buffer_size_add' - unexpected unlock
>
> vim +556 fs/pstore/ram_core.c
>
> bb4206f2042d95 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  545
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  546  void persistent_ram_free(struct persistent_ram_zone *prz)
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  547  {
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  548  	if (!prz)
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  549  		return;
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  550
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  551  	if (prz->vaddr) {
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  552  		if (pfn_valid(prz->paddr >> PAGE_SHIFT)) {
> 831b624df1b420 fs/pstore/ram_core.c                     Bin Yang        2018-09-12  553  			/* We must vunmap() at page-granularity. */
> 831b624df1b420 fs/pstore/ram_core.c                     Bin Yang        2018-09-12  554  			vunmap(prz->vaddr - offset_in_page(prz->paddr));
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  555  		} else {
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11 @556  			iounmap(prz->vaddr);

The pstore should be fixed, not this patch,

     iounmap((void __iomem *)prz->vaddr);


> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  557  			release_mem_region(prz->paddr, prz->size);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  558  		}
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  559  		prz->vaddr = NULL;
> beeb94321a7a6d fs/pstore/ram_core.c                     Anton Vorontsov 2012-06-18  560  	}
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  561  	if (prz->rs_decoder) {
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  562  		free_rs(prz->rs_decoder);
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  563  		prz->rs_decoder = NULL;
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  564  	}
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  565  	kfree(prz->ecc_info.par);
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  566  	prz->ecc_info.par = NULL;
> f2531f1976d98a fs/pstore/ram_core.c                     Kees Cook       2018-03-07  567
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  568  	persistent_ram_free_old(prz);
> 1227daa43bce13 fs/pstore/ram_core.c                     Kees Cook       2018-10-17  569  	kfree(prz->label);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  570  	kfree(prz);
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  571  }
> d3b487695120b5 drivers/staging/android/persistent_ram.c Anton Vorontsov 2012-05-11  572
>


  reply	other threads:[~2022-06-14  6:13 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-07 12:50 [PATCH v5 0/6] arm64: Cleanup ioremap() and support ioremap_prot() Kefeng Wang
2022-06-07 12:50 ` Kefeng Wang
2022-06-07 12:50 ` [PATCH v5 1/6] ARM: mm: kill unused runtime hook arch_iounmap() Kefeng Wang
2022-06-07 12:50   ` Kefeng Wang
2022-06-07 15:40   ` Russell King (Oracle)
2022-06-07 15:40     ` Russell King (Oracle)
2022-06-14  5:47   ` kernel test robot
2022-06-14  5:47     ` kernel test robot
2022-06-14  6:12     ` Kefeng Wang [this message]
2022-06-14  6:12       ` Kefeng Wang
2022-06-14  6:12       ` Kefeng Wang
2022-06-07 12:50 ` [PATCH v5 2/6] mm: ioremap: Use more sensibly name in ioremap_prot() Kefeng Wang
2022-06-07 12:50   ` Kefeng Wang
2022-06-08  4:16   ` Baoquan He
2022-06-08  4:16     ` Baoquan He
2022-06-08  7:22     ` Baoquan He
2022-06-08  7:22       ` Baoquan He
2022-06-08  6:09   ` Christoph Hellwig
2022-06-08  6:09     ` Christoph Hellwig
2022-06-08  7:04   ` Baoquan He
2022-06-08  7:04     ` Baoquan He
2022-06-10  9:22   ` [PATCH v5 resend 2/6] mm: ioremap: Use more sensible " Kefeng Wang
2022-06-10  9:22     ` Kefeng Wang
2022-06-07 12:50 ` [PATCH v5 3/6] mm: ioremap: Setup phys_addr of struct vm_struct Kefeng Wang
2022-06-07 12:50   ` Kefeng Wang
2022-06-07 12:50 ` [PATCH v5 4/6] mm: ioremap: Add ioremap/iounmap_allowed() Kefeng Wang
2022-06-07 12:50   ` Kefeng Wang
2022-06-08  4:18   ` Baoquan He
2022-06-08  4:18     ` Baoquan He
2022-06-08  6:10   ` Christoph Hellwig
2022-06-08  6:10     ` Christoph Hellwig
2022-06-07 12:50 ` [PATCH v5 5/6] arm64: mm: Convert to GENERIC_IOREMAP Kefeng Wang
2022-06-07 12:50   ` Kefeng Wang
2022-06-07 12:50 ` [PATCH v5 6/6] arm64: Add HAVE_IOREMAP_PROT support Kefeng Wang
2022-06-07 12:50   ` Kefeng Wang
2022-06-14  3:21 ` [PATCH v5 0/6] arm64: Cleanup ioremap() and support ioremap_prot() Kefeng Wang
2022-06-14  3:21   ` Kefeng Wang
2022-06-27 11:06   ` Kefeng Wang
2022-06-27 11:06     ` Kefeng Wang
2022-06-27 11:14     ` Will Deacon
2022-06-27 11:14       ` Will Deacon
2022-06-27 11:19       ` Kefeng Wang
2022-06-27 11:19         ` Kefeng Wang
2022-06-27 13:00 ` Will Deacon
2022-06-27 13:00   ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=85ee296a-b7cd-b4e0-e569-19f35c5519b7@huawei.com \
    --to=wangkefeng.wang@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=anshuman.khandual@arm.com \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=hch@infradead.org \
    --cc=hch@lst.de \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@armlinux.org.uk \
    --cc=lkp@intel.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.