Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[ARM] remove memzero()

As suggested by Andrew Morton, remove memzero() - it's not supported
on other architectures so use of it is a potential build breaking bug.
Since the compiler optimizes memset(x,0,n) to __memzero() perfectly
well, we don't miss out on the underlying benefits of memzero().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

authored by

Russell King and committed by
Russell King
59f0cb0f ed313489

+16 -23
+2
arch/arm/boot/compressed/misc.c
··· 86 86 87 87 #define __ptr_t void * 88 88 89 + #define memzero(s,n) __memzero(s,n) 90 + 89 91 /* 90 92 * Optimised C version of memzero for the ARM. 91 93 */
+1 -1
arch/arm/include/asm/page.h
··· 133 133 #define clear_user_page(addr,vaddr,pg) __cpu_clear_user_page(addr, vaddr) 134 134 #define copy_user_page(to,from,vaddr,pg) __cpu_copy_user_page(to, from, vaddr) 135 135 136 - #define clear_page(page) memzero((void *)(page), PAGE_SIZE) 136 + #define clear_page(page) memset((void *)(page), 0, PAGE_SIZE) 137 137 extern void copy_page(void *to, const void *from); 138 138 139 139 #undef STRICT_MM_TYPECHECKS
+1 -1
arch/arm/include/asm/processor.h
··· 64 64 ({ \ 65 65 unsigned long *stack = (unsigned long *)sp; \ 66 66 set_fs(USER_DS); \ 67 - memzero(regs->uregs, sizeof(regs->uregs)); \ 67 + memset(regs->uregs, 0, sizeof(regs->uregs)); \ 68 68 if (current->personality & ADDR_LIMIT_32BIT) \ 69 69 regs->ARM_cpsr = USR_MODE; \ 70 70 else \
-9
arch/arm/include/asm/string.h
··· 21 21 #define __HAVE_ARCH_MEMCHR 22 22 extern void * memchr(const void *, int, __kernel_size_t); 23 23 24 - #define __HAVE_ARCH_MEMZERO 25 24 #define __HAVE_ARCH_MEMSET 26 25 extern void * memset(void *, int, __kernel_size_t); 27 26 ··· 37 38 } \ 38 39 (__p); \ 39 40 }) 40 - 41 - #define memzero(p,n) \ 42 - ({ \ 43 - void *__p = (p); size_t __n = n; \ 44 - if ((__n) != 0) \ 45 - __memzero((__p),(__n)); \ 46 - (__p); \ 47 - }) 48 41 49 42 #endif
+1 -1
arch/arm/include/asm/uaccess.h
··· 400 400 if (access_ok(VERIFY_READ, from, n)) 401 401 n = __copy_from_user(to, from, n); 402 402 else /* security hole - plug it */ 403 - memzero(to, n); 403 + memset(to, 0, n); 404 404 return n; 405 405 } 406 406
+1 -1
arch/arm/lib/memset.S
··· 25 25 add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3)) 26 26 /* 27 27 * The pointer is now aligned and the length is adjusted. Try doing the 28 - * memzero again. 28 + * memset again. 29 29 */ 30 30 31 31 ENTRY(memset)
+1 -1
arch/arm/mm/mmu.c
··· 896 896 * allocate the zero page. Note that we count on this going ok. 897 897 */ 898 898 zero_page = alloc_bootmem_low_pages(PAGE_SIZE); 899 - memzero(zero_page, PAGE_SIZE); 899 + memset(zero_page, 0, PAGE_SIZE); 900 900 empty_zero_page = virt_to_page(zero_page); 901 901 flush_dcache_page(empty_zero_page); 902 902 }
+1 -1
arch/arm/mm/pgd.c
··· 31 31 if (!new_pgd) 32 32 goto no_pgd; 33 33 34 - memzero(new_pgd, FIRST_KERNEL_PGD_NR * sizeof(pgd_t)); 34 + memset(new_pgd, 0, FIRST_KERNEL_PGD_NR * sizeof(pgd_t)); 35 35 36 36 /* 37 37 * Copy over the kernel and IO PGD entries
+3 -3
drivers/mfd/asic3.c
··· 474 474 u16 dir_reg[ASIC3_NUM_GPIO_BANKS]; 475 475 int i; 476 476 477 - memzero(alt_reg, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); 478 - memzero(out_reg, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); 479 - memzero(dir_reg, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); 477 + memset(alt_reg, 0, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); 478 + memset(out_reg, 0, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); 479 + memset(dir_reg, 0, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); 480 480 481 481 /* Enable all GPIOs */ 482 482 asic3_write_register(asic, ASIC3_GPIO_OFFSET(A, MASK), 0xffff);
+1 -1
drivers/mtd/maps/ixp2000.c
··· 170 170 err = -ENOMEM; 171 171 goto Error; 172 172 } 173 - memzero(info, sizeof(struct ixp2000_flash_info)); 173 + memset(info, 0, sizeof(struct ixp2000_flash_info)); 174 174 175 175 platform_set_drvdata(dev, info); 176 176
+1 -1
drivers/mtd/maps/ixp4xx.c
··· 201 201 err = -ENOMEM; 202 202 goto Error; 203 203 } 204 - memzero(info, sizeof(struct ixp4xx_flash_info)); 204 + memset(info, 0, sizeof(struct ixp4xx_flash_info)); 205 205 206 206 platform_set_drvdata(dev, info); 207 207
+2 -2
drivers/mtd/nand/s3c2410.c
··· 818 818 goto exit_error; 819 819 } 820 820 821 - memzero(info, sizeof(*info)); 821 + memset(info, 0, sizeof(*info)); 822 822 platform_set_drvdata(pdev, info); 823 823 824 824 spin_lock_init(&info->controller.lock); ··· 883 883 goto exit_error; 884 884 } 885 885 886 - memzero(info->mtds, size); 886 + memset(info->mtds, 0, size); 887 887 888 888 /* initialise all possible chips */ 889 889
+1 -1
drivers/video/sa1100fb.c
··· 114 114 * - convert dma address types to dma_addr_t 115 115 * - remove unused 'montype' stuff 116 116 * - remove redundant zero inits of init_var after the initial 117 - * memzero. 117 + * memset. 118 118 * - remove allow_modeset (acornfb idea does not belong here) 119 119 * 120 120 * 2001/05/28: <rmk@arm.linux.org.uk>