* [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
@ 2023-11-18 10:08 Kefeng Wang
2023-11-18 19:26 ` kernel test robot
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Kefeng Wang @ 2023-11-18 10:08 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Kefeng Wang, Rich Felker, linux-sh, James E.J. Bottomley,
sparclinux, linux-arch, Yoshinori Sato, linux-hexagon,
Russell King, Stanislav Kinsburskii, Richard Henderson,
Nicholas Piggin, linux-m68k, Ivan Kokshaysky, linux-arm-kernel,
Brian Cain, linux-parisc, linux-mips, linux-alpha, linuxppc-dev,
David S. Miller
The asm-generic/io.h already has default definition, remove unnecessary
arch's defination.
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Brian Cain <bcain@quicinc.com>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Stanislav Kinsburskii <stanislav.kinsburskii@gmail.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
arch/alpha/include/asm/io.h | 6 ------
arch/arm/include/asm/io.h | 6 ------
arch/hexagon/include/asm/io.h | 6 ------
arch/m68k/include/asm/io_mm.h | 6 ------
arch/mips/include/asm/io.h | 7 -------
arch/parisc/include/asm/io.h | 6 ------
arch/powerpc/include/asm/io.h | 6 ------
arch/sh/include/asm/io.h | 7 -------
arch/sparc/include/asm/io_64.h | 6 ------
9 files changed, 56 deletions(-)
diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h
index 7aeaf7c30a6f..5e5d21ebc584 100644
--- a/arch/alpha/include/asm/io.h
+++ b/arch/alpha/include/asm/io.h
@@ -651,12 +651,6 @@ extern void outsl (unsigned long port, const void *src, unsigned long count);
#endif
#define RTC_ALWAYS_BCD 0
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
/*
* These get provided from <asm-generic/iomap.h> since alpha does not
* select GENERIC_IOMAP.
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index 56b08ed6cc3b..1815748f5d2a 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -407,12 +407,6 @@ struct pci_dev;
#define pci_iounmap pci_iounmap
extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr);
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
#include <asm-generic/io.h>
#ifdef CONFIG_MMU
diff --git a/arch/hexagon/include/asm/io.h b/arch/hexagon/include/asm/io.h
index e2b308e32a37..97d57751ce3b 100644
--- a/arch/hexagon/include/asm/io.h
+++ b/arch/hexagon/include/asm/io.h
@@ -58,12 +58,6 @@ static inline void *phys_to_virt(unsigned long address)
return __va(address);
}
-/*
- * convert a physical pointer to a virtual kernel pointer for
- * /dev/mem access.
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
/*
* IO port access primitives. Hexagon doesn't have special IO access
* instructions; all I/O is memory mapped.
diff --git a/arch/m68k/include/asm/io_mm.h b/arch/m68k/include/asm/io_mm.h
index 47525f2a57e1..090aec54b8fa 100644
--- a/arch/m68k/include/asm/io_mm.h
+++ b/arch/m68k/include/asm/io_mm.h
@@ -389,12 +389,6 @@ static inline void isa_delay(void)
#define __ARCH_HAS_NO_PAGE_ZERO_MAPPED 1
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
#define readb_relaxed(addr) readb(addr)
#define readw_relaxed(addr) readw(addr)
#define readl_relaxed(addr) readl(addr)
diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index 062dd4e6b954..2158ff302430 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -548,13 +548,6 @@ extern void (*_dma_cache_inv)(unsigned long start, unsigned long size);
#define csr_out32(v, a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v))
#define csr_in32(a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST))
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-#define unxlate_dev_mem_ptr(p, v) do { } while (0)
-
void __ioread64_copy(void *to, const void __iomem *from, size_t count);
#endif /* _ASM_IO_H */
diff --git a/arch/parisc/include/asm/io.h b/arch/parisc/include/asm/io.h
index 366537042465..9c06cafb0e70 100644
--- a/arch/parisc/include/asm/io.h
+++ b/arch/parisc/include/asm/io.h
@@ -267,12 +267,6 @@ extern void iowrite64be(u64 val, void __iomem *addr);
#define iowrite16_rep iowrite16_rep
#define iowrite32_rep iowrite32_rep
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
extern int devmem_is_allowed(unsigned long pfn);
#include <asm-generic/io.h>
diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h
index 5220274a6277..79421c285066 100644
--- a/arch/powerpc/include/asm/io.h
+++ b/arch/powerpc/include/asm/io.h
@@ -709,12 +709,6 @@ static inline void name at \
#define memcpy_fromio memcpy_fromio
#define memcpy_toio memcpy_toio
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
/*
* We don't do relaxed operations yet, at least not with this semantic
*/
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index ac521f287fa5..be7ac06423a9 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -304,13 +304,6 @@ unsigned long long poke_real_address_q(unsigned long long addr,
#define ioremap_uc ioremap
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-#define unxlate_dev_mem_ptr(p, v) do { } while (0)
-
#include <asm-generic/io.h>
#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
diff --git a/arch/sparc/include/asm/io_64.h b/arch/sparc/include/asm/io_64.h
index 9303270b22f3..75ae9bf3bb7b 100644
--- a/arch/sparc/include/asm/io_64.h
+++ b/arch/sparc/include/asm/io_64.h
@@ -470,12 +470,6 @@ static inline int sbus_can_burst64(void)
struct device;
void sbus_set_sbus64(struct device *, int);
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
#endif
#endif /* !(__SPARC64_IO_H) */
--
2.27.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
2023-11-18 10:08 [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr() Kefeng Wang
@ 2023-11-18 19:26 ` kernel test robot
2023-11-19 3:13 ` kernel test robot
2023-11-19 19:34 ` Geert Uytterhoeven
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2023-11-18 19:26 UTC (permalink / raw)
To: Kefeng Wang, Arnd Bergmann
Cc: linux-arch, Brian Cain, Kefeng Wang, Rich Felker, linux-parisc,
Yoshinori Sato, linux-sh, linux-hexagon, linux-alpha,
Richard Henderson, Russell King, Nicholas Piggin,
Stanislav Kinsburskii, James E.J. Bottomley, linux-m68k,
Ivan Kokshaysky, oe-kbuild-all, sparclinux, linux-mips,
linuxppc-dev, linux-arm-kernel
Hi Kefeng,
kernel test robot noticed the following build errors:
[auto build test ERROR on soc/for-next]
[also build test ERROR on geert-m68k/for-next geert-m68k/for-linus deller-parisc/for-next powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231117]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Kefeng-Wang/asm-io-remove-unnecessary-xlate_dev_mem_ptr-and-unxlate_dev_mem_ptr/20231118-183038
base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
patch link: https://lore.kernel.org/r/20231118100827.1599422-1-wangkefeng.wang%40huawei.com
patch subject: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
config: mips-db1xxx_defconfig (https://download.01.org/0day-ci/archive/20231119/202311190352.yqCpBjIn-lkp@intel.com/config)
compiler: mipsel-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231119/202311190352.yqCpBjIn-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311190352.yqCpBjIn-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
drivers/char/mem.c: In function 'read_mem':
>> drivers/char/mem.c:159:31: error: implicit declaration of function 'xlate_dev_mem_ptr' [-Werror=implicit-function-declaration]
159 | ptr = xlate_dev_mem_ptr(p);
| ^~~~~~~~~~~~~~~~~
>> drivers/char/mem.c:159:29: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
159 | ptr = xlate_dev_mem_ptr(p);
| ^
>> drivers/char/mem.c:164:25: error: implicit declaration of function 'unxlate_dev_mem_ptr' [-Werror=implicit-function-declaration]
164 | unxlate_dev_mem_ptr(p, ptr);
| ^~~~~~~~~~~~~~~~~~~
drivers/char/mem.c: In function 'write_mem':
drivers/char/mem.c:235:29: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
235 | ptr = xlate_dev_mem_ptr(p);
| ^
cc1: some warnings being treated as errors
vim +/xlate_dev_mem_ptr +159 drivers/char/mem.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 133
22ec1a2aea73b9 Kees Cook 2017-12-01 134 bounce = kmalloc(PAGE_SIZE, GFP_KERNEL);
22ec1a2aea73b9 Kees Cook 2017-12-01 135 if (!bounce)
22ec1a2aea73b9 Kees Cook 2017-12-01 136 return -ENOMEM;
22ec1a2aea73b9 Kees Cook 2017-12-01 137
^1da177e4c3f41 Linus Torvalds 2005-04-16 138 while (count > 0) {
fa29e97bb8c70f Wu Fengguang 2009-12-14 139 unsigned long remaining;
b5b38200ebe548 Kees Cook 2018-03-27 140 int allowed, probe;
fa29e97bb8c70f Wu Fengguang 2009-12-14 141
f222318e9c3a31 Wu Fengguang 2009-12-14 142 sz = size_inside_page(p, count);
^1da177e4c3f41 Linus Torvalds 2005-04-16 143
22ec1a2aea73b9 Kees Cook 2017-12-01 144 err = -EPERM;
a4866aa812518e Kees Cook 2017-04-05 145 allowed = page_is_allowed(p >> PAGE_SHIFT);
a4866aa812518e Kees Cook 2017-04-05 146 if (!allowed)
22ec1a2aea73b9 Kees Cook 2017-12-01 147 goto failed;
22ec1a2aea73b9 Kees Cook 2017-12-01 148
22ec1a2aea73b9 Kees Cook 2017-12-01 149 err = -EFAULT;
a4866aa812518e Kees Cook 2017-04-05 150 if (allowed == 2) {
a4866aa812518e Kees Cook 2017-04-05 151 /* Show zeros for restricted memory. */
a4866aa812518e Kees Cook 2017-04-05 152 remaining = clear_user(buf, sz);
a4866aa812518e Kees Cook 2017-04-05 153 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 154 /*
a4866aa812518e Kees Cook 2017-04-05 155 * On ia64 if a page has been mapped somewhere as
a4866aa812518e Kees Cook 2017-04-05 156 * uncached, then it must also be accessed uncached
a4866aa812518e Kees Cook 2017-04-05 157 * by the kernel or data corruption may occur.
^1da177e4c3f41 Linus Torvalds 2005-04-16 158 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 @159 ptr = xlate_dev_mem_ptr(p);
e045fb2a988a9a venkatesh.pallipadi@intel.com 2008-03-18 160 if (!ptr)
22ec1a2aea73b9 Kees Cook 2017-12-01 161 goto failed;
a4866aa812518e Kees Cook 2017-04-05 162
fe557319aa06c2 Christoph Hellwig 2020-06-17 163 probe = copy_from_kernel_nofault(bounce, ptr, sz);
e045fb2a988a9a venkatesh.pallipadi@intel.com 2008-03-18 @164 unxlate_dev_mem_ptr(p, ptr);
b5b38200ebe548 Kees Cook 2018-03-27 165 if (probe)
22ec1a2aea73b9 Kees Cook 2017-12-01 166 goto failed;
22ec1a2aea73b9 Kees Cook 2017-12-01 167
22ec1a2aea73b9 Kees Cook 2017-12-01 168 remaining = copy_to_user(buf, bounce, sz);
a4866aa812518e Kees Cook 2017-04-05 169 }
a4866aa812518e Kees Cook 2017-04-05 170
fa29e97bb8c70f Wu Fengguang 2009-12-14 171 if (remaining)
22ec1a2aea73b9 Kees Cook 2017-12-01 172 goto failed;
e045fb2a988a9a venkatesh.pallipadi@intel.com 2008-03-18 173
^1da177e4c3f41 Linus Torvalds 2005-04-16 174 buf += sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 175 p += sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 176 count -= sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 177 read += sz;
8619e5bdeee8b2 Tetsuo Handa 2019-08-26 178 if (should_stop_iteration())
8619e5bdeee8b2 Tetsuo Handa 2019-08-26 179 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 180 }
22ec1a2aea73b9 Kees Cook 2017-12-01 181 kfree(bounce);
^1da177e4c3f41 Linus Torvalds 2005-04-16 182
^1da177e4c3f41 Linus Torvalds 2005-04-16 183 *ppos += read;
^1da177e4c3f41 Linus Torvalds 2005-04-16 184 return read;
22ec1a2aea73b9 Kees Cook 2017-12-01 185
22ec1a2aea73b9 Kees Cook 2017-12-01 186 failed:
22ec1a2aea73b9 Kees Cook 2017-12-01 187 kfree(bounce);
22ec1a2aea73b9 Kees Cook 2017-12-01 188 return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 189 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 190
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
2023-11-18 10:08 [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr() Kefeng Wang
2023-11-18 19:26 ` kernel test robot
@ 2023-11-19 3:13 ` kernel test robot
2023-11-19 19:34 ` Geert Uytterhoeven
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2023-11-19 3:13 UTC (permalink / raw)
To: Kefeng Wang, Arnd Bergmann
Cc: Kefeng Wang, Rich Felker, linux-sh, llvm, James E.J. Bottomley,
sparclinux, linux-arch, Yoshinori Sato, linux-hexagon,
Russell King, Stanislav Kinsburskii, Richard Henderson,
Nicholas Piggin, linux-m68k, Ivan Kokshaysky, oe-kbuild-all,
linux-arm-kernel, Brian Cain, linux-parisc, linux-mips,
linux-alpha, linuxppc-dev
Hi Kefeng,
kernel test robot noticed the following build errors:
[auto build test ERROR on soc/for-next]
[also build test ERROR on geert-m68k/for-next geert-m68k/for-linus deller-parisc/for-next powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231117]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Kefeng-Wang/asm-io-remove-unnecessary-xlate_dev_mem_ptr-and-unxlate_dev_mem_ptr/20231118-183038
base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
patch link: https://lore.kernel.org/r/20231118100827.1599422-1-wangkefeng.wang%40huawei.com
patch subject: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
config: mips-mtx1_defconfig (https://download.01.org/0day-ci/archive/20231119/202311191145.pppExJS6-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231119/202311191145.pppExJS6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311191145.pppExJS6-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/char/mem.c:159:10: error: call to undeclared function 'xlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
ptr = xlate_dev_mem_ptr(p);
^
>> drivers/char/mem.c:159:8: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
ptr = xlate_dev_mem_ptr(p);
^ ~~~~~~~~~~~~~~~~~~~~
>> drivers/char/mem.c:164:4: error: call to undeclared function 'unxlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
unxlate_dev_mem_ptr(p, ptr);
^
drivers/char/mem.c:235:10: error: call to undeclared function 'xlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
ptr = xlate_dev_mem_ptr(p);
^
drivers/char/mem.c:235:8: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
ptr = xlate_dev_mem_ptr(p);
^ ~~~~~~~~~~~~~~~~~~~~
drivers/char/mem.c:243:4: error: call to undeclared function 'unxlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
unxlate_dev_mem_ptr(p, ptr);
^
6 errors generated.
vim +/xlate_dev_mem_ptr +159 drivers/char/mem.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 133
22ec1a2aea73b9 Kees Cook 2017-12-01 134 bounce = kmalloc(PAGE_SIZE, GFP_KERNEL);
22ec1a2aea73b9 Kees Cook 2017-12-01 135 if (!bounce)
22ec1a2aea73b9 Kees Cook 2017-12-01 136 return -ENOMEM;
22ec1a2aea73b9 Kees Cook 2017-12-01 137
^1da177e4c3f41 Linus Torvalds 2005-04-16 138 while (count > 0) {
fa29e97bb8c70f Wu Fengguang 2009-12-14 139 unsigned long remaining;
b5b38200ebe548 Kees Cook 2018-03-27 140 int allowed, probe;
fa29e97bb8c70f Wu Fengguang 2009-12-14 141
f222318e9c3a31 Wu Fengguang 2009-12-14 142 sz = size_inside_page(p, count);
^1da177e4c3f41 Linus Torvalds 2005-04-16 143
22ec1a2aea73b9 Kees Cook 2017-12-01 144 err = -EPERM;
a4866aa812518e Kees Cook 2017-04-05 145 allowed = page_is_allowed(p >> PAGE_SHIFT);
a4866aa812518e Kees Cook 2017-04-05 146 if (!allowed)
22ec1a2aea73b9 Kees Cook 2017-12-01 147 goto failed;
22ec1a2aea73b9 Kees Cook 2017-12-01 148
22ec1a2aea73b9 Kees Cook 2017-12-01 149 err = -EFAULT;
a4866aa812518e Kees Cook 2017-04-05 150 if (allowed == 2) {
a4866aa812518e Kees Cook 2017-04-05 151 /* Show zeros for restricted memory. */
a4866aa812518e Kees Cook 2017-04-05 152 remaining = clear_user(buf, sz);
a4866aa812518e Kees Cook 2017-04-05 153 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 154 /*
a4866aa812518e Kees Cook 2017-04-05 155 * On ia64 if a page has been mapped somewhere as
a4866aa812518e Kees Cook 2017-04-05 156 * uncached, then it must also be accessed uncached
a4866aa812518e Kees Cook 2017-04-05 157 * by the kernel or data corruption may occur.
^1da177e4c3f41 Linus Torvalds 2005-04-16 158 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 @159 ptr = xlate_dev_mem_ptr(p);
e045fb2a988a9a venkatesh.pallipadi@intel.com 2008-03-18 160 if (!ptr)
22ec1a2aea73b9 Kees Cook 2017-12-01 161 goto failed;
a4866aa812518e Kees Cook 2017-04-05 162
fe557319aa06c2 Christoph Hellwig 2020-06-17 163 probe = copy_from_kernel_nofault(bounce, ptr, sz);
e045fb2a988a9a venkatesh.pallipadi@intel.com 2008-03-18 @164 unxlate_dev_mem_ptr(p, ptr);
b5b38200ebe548 Kees Cook 2018-03-27 165 if (probe)
22ec1a2aea73b9 Kees Cook 2017-12-01 166 goto failed;
22ec1a2aea73b9 Kees Cook 2017-12-01 167
22ec1a2aea73b9 Kees Cook 2017-12-01 168 remaining = copy_to_user(buf, bounce, sz);
a4866aa812518e Kees Cook 2017-04-05 169 }
a4866aa812518e Kees Cook 2017-04-05 170
fa29e97bb8c70f Wu Fengguang 2009-12-14 171 if (remaining)
22ec1a2aea73b9 Kees Cook 2017-12-01 172 goto failed;
e045fb2a988a9a venkatesh.pallipadi@intel.com 2008-03-18 173
^1da177e4c3f41 Linus Torvalds 2005-04-16 174 buf += sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 175 p += sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 176 count -= sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 177 read += sz;
8619e5bdeee8b2 Tetsuo Handa 2019-08-26 178 if (should_stop_iteration())
8619e5bdeee8b2 Tetsuo Handa 2019-08-26 179 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 180 }
22ec1a2aea73b9 Kees Cook 2017-12-01 181 kfree(bounce);
^1da177e4c3f41 Linus Torvalds 2005-04-16 182
^1da177e4c3f41 Linus Torvalds 2005-04-16 183 *ppos += read;
^1da177e4c3f41 Linus Torvalds 2005-04-16 184 return read;
22ec1a2aea73b9 Kees Cook 2017-12-01 185
22ec1a2aea73b9 Kees Cook 2017-12-01 186 failed:
22ec1a2aea73b9 Kees Cook 2017-12-01 187 kfree(bounce);
22ec1a2aea73b9 Kees Cook 2017-12-01 188 return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 189 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 190
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
2023-11-18 10:08 [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr() Kefeng Wang
2023-11-18 19:26 ` kernel test robot
2023-11-19 3:13 ` kernel test robot
@ 2023-11-19 19:34 ` Geert Uytterhoeven
2023-11-20 0:39 ` Kefeng Wang
2 siblings, 1 reply; 7+ messages in thread
From: Geert Uytterhoeven @ 2023-11-19 19:34 UTC (permalink / raw)
To: Kefeng Wang
Cc: Rich Felker, linux-sh, James E.J. Bottomley, sparclinux,
linux-arch, Yoshinori Sato, linux-hexagon, Russell King,
Stanislav Kinsburskii, Arnd Bergmann, Richard Henderson,
Nicholas Piggin, linux-m68k, Ivan Kokshaysky, linux-arm-kernel,
Brian Cain, linux-parisc, linux-mips, linux-alpha, linuxppc-dev,
David S. Miller
On Sat, Nov 18, 2023 at 11:09 AM Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
> The asm-generic/io.h already has default definition, remove unnecessary
> arch's defination.
>
> Cc: Richard Henderson <richard.henderson@linaro.org>
> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Brian Cain <bcain@quicinc.com>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: Nicholas Piggin <npiggin@gmail.com>
> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
> Cc: Rich Felker <dalias@libc.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Stanislav Kinsburskii <stanislav.kinsburskii@gmail.com>
> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> arch/m68k/include/asm/io_mm.h | 6 ------
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
> arch/sh/include/asm/io.h | 7 -------
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> --- a/arch/mips/include/asm/io.h
> +++ b/arch/mips/include/asm/io.h
> @@ -548,13 +548,6 @@ extern void (*_dma_cache_inv)(unsigned long start, unsigned long size);
> #define csr_out32(v, a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v))
> #define csr_in32(a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST))
>
> -/*
> - * Convert a physical pointer to a virtual kernel pointer for /dev/mem
> - * access
> - */
> -#define xlate_dev_mem_ptr(p) __va(p)
> -#define unxlate_dev_mem_ptr(p, v) do { } while (0)
> -
> void __ioread64_copy(void *to, const void __iomem *from, size_t count);
Missing #include <asm-generic/io.h>, according to the build bot report.
> #endif /* _ASM_IO_H */
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
2023-11-19 19:34 ` Geert Uytterhoeven
@ 2023-11-20 0:39 ` Kefeng Wang
2023-11-20 6:40 ` Arnd Bergmann
0 siblings, 1 reply; 7+ messages in thread
From: Kefeng Wang @ 2023-11-20 0:39 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Rich Felker, linux-sh, James E.J. Bottomley, sparclinux,
linux-arch, Yoshinori Sato, linux-hexagon, Russell King,
Stanislav Kinsburskii, Arnd Bergmann, Richard Henderson,
Nicholas Piggin, linux-m68k, Ivan Kokshaysky, linux-arm-kernel,
Brian Cain, linux-parisc, linux-mips, linux-alpha, linuxppc-dev,
David S. Miller
On 2023/11/20 3:34, Geert Uytterhoeven wrote:
> On Sat, Nov 18, 2023 at 11:09 AM Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
>> The asm-generic/io.h already has default definition, remove unnecessary
>> arch's defination.
>>
>> Cc: Richard Henderson <richard.henderson@linaro.org>
>> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
>> Cc: Russell King <linux@armlinux.org.uk>
>> Cc: Brian Cain <bcain@quicinc.com>
>> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
>> Cc: Nicholas Piggin <npiggin@gmail.com>
>> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
>> Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
>> Cc: Rich Felker <dalias@libc.org>
>> Cc: "David S. Miller" <davem@davemloft.net>
>> Cc: Stanislav Kinsburskii <stanislav.kinsburskii@gmail.com>
>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>
>> arch/m68k/include/asm/io_mm.h | 6 ------
>
> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
>
>> arch/sh/include/asm/io.h | 7 -------
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Thanks,
>
>> --- a/arch/mips/include/asm/io.h
>> +++ b/arch/mips/include/asm/io.h
>> @@ -548,13 +548,6 @@ extern void (*_dma_cache_inv)(unsigned long start, unsigned long size);
>> #define csr_out32(v, a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v))
>> #define csr_in32(a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST))
>>
>> -/*
>> - * Convert a physical pointer to a virtual kernel pointer for /dev/mem
>> - * access
>> - */
>> -#define xlate_dev_mem_ptr(p) __va(p)
>> -#define unxlate_dev_mem_ptr(p, v) do { } while (0)
>> -
>> void __ioread64_copy(void *to, const void __iomem *from, size_t count);
>
> Missing #include <asm-generic/io.h>, according to the build bot report.
Will check the bot report.
>
>> #endif /* _ASM_IO_H */
>
> Gr{oetje,eeting}s,
>
> Geert
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
2023-11-20 0:39 ` Kefeng Wang
@ 2023-11-20 6:40 ` Arnd Bergmann
2023-11-20 7:04 ` Kefeng Wang
0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2023-11-20 6:40 UTC (permalink / raw)
To: Kefeng Wang, Geert Uytterhoeven
Cc: Linux-Arch, Brian Cain, Rich Felker, Yoshinori Sato, linux-parisc,
linux-sh, linux-hexagon, Richard Henderson, linux-mips,
Nicholas Piggin, Russell King, James E . J . Bottomley,
linux-m68k, Ivan Kokshaysky, linux-alpha, sparclinux,
Stanislav Kinsburskii, linuxppc-dev, David S . Miller,
linux-arm-kernel
On Mon, Nov 20, 2023, at 01:39, Kefeng Wang wrote:
> On 2023/11/20 3:34, Geert Uytterhoeven wrote:
>> On Sat, Nov 18, 2023 at 11:09 AM Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
>>>
>>> -/*
>>> - * Convert a physical pointer to a virtual kernel pointer for /dev/mem
>>> - * access
>>> - */
>>> -#define xlate_dev_mem_ptr(p) __va(p)
>>> -#define unxlate_dev_mem_ptr(p, v) do { } while (0)
>>> -
>>> void __ioread64_copy(void *to, const void __iomem *from, size_t count);
>>
>> Missing #include <asm-generic/io.h>, according to the build bot report.
>
> Will check the bot report.
I had planned to pick up the series from
https://lore.kernel.org/lkml/20230921110424.215592-3-bhe@redhat.com/
for v6.7 but didn't make it in the end. I'll try to do it now
for v6.8 and apply your v1 patch with the Acks on top.
Arnd
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
2023-11-20 6:40 ` Arnd Bergmann
@ 2023-11-20 7:04 ` Kefeng Wang
0 siblings, 0 replies; 7+ messages in thread
From: Kefeng Wang @ 2023-11-20 7:04 UTC (permalink / raw)
To: Arnd Bergmann, Geert Uytterhoeven
Cc: Linux-Arch, Brian Cain, Rich Felker, Yoshinori Sato, linux-parisc,
linux-sh, linux-hexagon, Richard Henderson, linux-mips,
Nicholas Piggin, Russell King, James E . J . Bottomley,
linux-m68k, Ivan Kokshaysky, linux-alpha, sparclinux,
Stanislav Kinsburskii, linuxppc-dev, David S . Miller,
linux-arm-kernel
On 2023/11/20 14:40, Arnd Bergmann wrote:
> On Mon, Nov 20, 2023, at 01:39, Kefeng Wang wrote:
>> On 2023/11/20 3:34, Geert Uytterhoeven wrote:
>>> On Sat, Nov 18, 2023 at 11:09 AM Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
>>>>
>>>> -/*
>>>> - * Convert a physical pointer to a virtual kernel pointer for /dev/mem
>>>> - * access
>>>> - */
>>>> -#define xlate_dev_mem_ptr(p) __va(p)
>>>> -#define unxlate_dev_mem_ptr(p, v) do { } while (0)
>>>> -
>>>> void __ioread64_copy(void *to, const void __iomem *from, size_t count);
>>>
>>> Missing #include <asm-generic/io.h>, according to the build bot report.
>>
>> Will check the bot report.
>
> I had planned to pick up the series from
>
> https://lore.kernel.org/lkml/20230921110424.215592-3-bhe@redhat.com/
Good to see it.
>
> for v6.7 but didn't make it in the end. I'll try to do it now
> for v6.8 and apply your v1 patch with the Acks on top.
Thanks.
>
> Arnd
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-11-20 7:06 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-18 10:08 [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr() Kefeng Wang
2023-11-18 19:26 ` kernel test robot
2023-11-19 3:13 ` kernel test robot
2023-11-19 19:34 ` Geert Uytterhoeven
2023-11-20 0:39 ` Kefeng Wang
2023-11-20 6:40 ` Arnd Bergmann
2023-11-20 7:04 ` Kefeng Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).