* [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: linux-arch, linux-alpha, linux-arm-kernel, linux-hexagon,
linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-sh,
sparclinux, Kefeng Wang, Richard Henderson, Ivan Kokshaysky,
Russell King, Brian Cain, James E.J. Bottomley, Nicholas Piggin,
Christophe Leroy, Yoshinori Sato, Rich Felker, David S. Miller,
Stanislav Kinsburskii
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: oe-kbuild-all, 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
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: llvm, oe-kbuild-all, 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
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: Arnd Bergmann, linux-arch, linux-alpha, linux-arm-kernel,
linux-hexagon, linux-m68k, linux-mips, linux-parisc, linuxppc-dev,
linux-sh, sparclinux, Richard Henderson, Ivan Kokshaysky,
Russell King, Brian Cain, James E.J. Bottomley, Nicholas Piggin,
Christophe Leroy, Yoshinori Sato, Rich Felker, David S. Miller,
Stanislav Kinsburskii
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: Arnd Bergmann, linux-arch, linux-alpha, linux-arm-kernel,
linux-hexagon, linux-m68k, linux-mips, linux-parisc, linuxppc-dev,
linux-sh, sparclinux, Richard Henderson, Ivan Kokshaysky,
Russell King, Brian Cain, James E.J. Bottomley, Nicholas Piggin,
Christophe Leroy, Yoshinori Sato, Rich Felker, David S. Miller,
Stanislav Kinsburskii
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, linux-alpha, linux-arm-kernel, linux-hexagon,
linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-sh,
sparclinux, Richard Henderson, Ivan Kokshaysky, Russell King,
Brian Cain, James E . J . Bottomley, Nicholas Piggin,
Christophe Leroy, Yoshinori Sato, Rich Felker, David S . Miller,
Stanislav Kinsburskii
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, linux-alpha, linux-arm-kernel, linux-hexagon,
linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-sh,
sparclinux, Richard Henderson, Ivan Kokshaysky, Russell King,
Brian Cain, James E . J . Bottomley, Nicholas Piggin,
Christophe Leroy, Yoshinori Sato, Rich Felker, David S . Miller,
Stanislav Kinsburskii
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:05 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