From: Dave Hansen Ran across this because it's another place where an unsigned long is passed directly to __pa(). Making the "page" variable a void* seems a bit more natural than an unsigned long and reduces the net number of casts by 1. Without it, we probably need another (void *) cast in the __pa() call. For more explanation as to why this was probably done originally, see this post: http://marc.theaimsgroup.com/?l=linux-mm&m=109155379124628&w=2 Signed-off-by: Andrew Morton --- 25-akpm/arch/i386/kernel/sysenter.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN arch/i386/kernel/sysenter.c~reduce-casting-in-sysenterc arch/i386/kernel/sysenter.c --- 25/arch/i386/kernel/sysenter.c~reduce-casting-in-sysenterc 2004-08-23 23:06:58.217317152 -0700 +++ 25-akpm/arch/i386/kernel/sysenter.c 2004-08-23 23:06:58.220316696 -0700 @@ -43,18 +43,18 @@ extern const char vsyscall_sysenter_star static int __init sysenter_setup(void) { - unsigned long page = get_zeroed_page(GFP_ATOMIC); + void *page = (void *)get_zeroed_page(GFP_ATOMIC); __set_fixmap(FIX_VSYSCALL, __pa(page), PAGE_READONLY_EXEC); if (!boot_cpu_has(X86_FEATURE_SEP)) { - memcpy((void *) page, + memcpy(page, &vsyscall_int80_start, &vsyscall_int80_end - &vsyscall_int80_start); return 0; } - memcpy((void *) page, + memcpy(page, &vsyscall_sysenter_start, &vsyscall_sysenter_end - &vsyscall_sysenter_start); _