linux/arch/powerpc/kernel
Christoph Hellwig 535f8d65d8 [SPARC]: Fix RTC compat ioctl kernel log spam.
On Fri, Nov 11, 2005 at 12:58:40PM -0800, David S. Miller wrote:
> 
> This change:
> 
> diff-tree 8ca2bdc7a9 (from feee207e44d3643d19e648aAuthor: Christoph Hellwig <hch@lst.de>
> Date:   Wed Nov 9 12:07:18 2005 -0800
> 
>     [SPARC] sbus rtc: implement ->compat_ioctl
>     
>     Signed-off-by: Christoph Hellwig <hch@lst.de>
>     Signed-off-by: David S. Miller <davem@davemloft.net>
> 
> results in the console now getting spewed on sparc64 systems
> with messages like:
> 
> [   11.968298] ioctl32(hwclock:464): Unknown cmd fd(3) cmd(401c7014){00} arg(efc
> What's happening is hwclock tries first the SBUS rtc device ioctls
> then the normal rtc driver ones.
> 
> So things actually worked better when we had the SBUS rtc compat ioctl
> directly handled via the generic compat ioctl code.
> 
> There are _so_ many rtc drivers in the kernel implementing the
> generic rtc ioctls that I don't think putting a ->compat_ioctl
> into all of them to fix this problem is feasible.  Unless we
> write a single rtc_compat_ioctl(), export it to modules, and hook
> it into all of those somehow.
> 
> But even that doesn't appear to have any pretty implementation.
> 
> Any better ideas?

We had similar problems with other ioctls where userspace did things
like that.  What we did there was to put the compat handler to generic
code.  The patch below does that, adding a big comment about what's
going on and removing the COMPAT_IOCTL entires for these on powerpc
that not only weren't ever useful but are duplicated now aswell.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-11-12 12:10:54 -08:00
..
vdso32 powerpc: Fix some compile problems with the VDSO stuff 2005-11-11 23:04:40 +11:00
vdso64 [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
asm-offsets.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
binfmt_elf32.c ppc64: merge binfmt_elf32.c 2005-10-13 13:40:54 +10:00
btext.c powerpc: Get 64-bit configs to compile with ARCH=powerpc 2005-10-10 22:50:37 +10:00
cpu_setup_power4.S [PATCH] powerpc: Move various ppc64 files with no ppc32 equivalent to powerpc 2005-11-10 11:24:04 +11:00
cputable.c powerpc: Add user CPU features for POWER4, POWER5, POWER5+ and Cell. 2005-11-10 14:29:18 +11:00
entry_32.S powerpc: Rename asm offset TRAP to _TRAP for 32-bit 2005-10-28 22:45:25 +10:00
entry_64.S [PATCH] audit_sysctl_exit can only be used with CONF_AUDIT_SYSCTL 2005-11-01 21:44:46 -08:00
firmware.c [PATCH] powerpc: Move various ppc64 files with no ppc32 equivalent to powerpc 2005-11-10 11:24:04 +11:00
fpu.S [PATCH] powerpc: Consolidate asm compatibility macros 2005-11-10 13:10:38 +11:00
head_4xx.S powerpc: Rename asm offset TRAP to _TRAP for 32-bit 2005-10-28 22:45:25 +10:00
head_8xx.S powerpc: Rename asm offset TRAP to _TRAP for 32-bit 2005-10-28 22:45:25 +10:00
head_32.S powerpc: Initialize secondary CPU setup for 32-bit SMP 2005-11-11 22:34:43 +11:00
head_44x.S [PATCH] powerpc: replace use of _GLOBAL with .globl 2005-10-17 21:43:12 +10:00
head_64.S [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
head_fsl_booke.S [PATCH] powerpc: replace use of _GLOBAL with .globl 2005-10-17 21:43:12 +10:00
idle_6xx.S powerpc: Use reg.h instead of processor.h when we just want reg names 2005-10-10 22:20:10 +10:00
idle_power4.S [PATCH] powerpc: Fix use of LOADBASE in merge tree 2005-10-17 21:43:12 +10:00
init_task.c powerpc: make process.c suitable for both 32-bit and 64-bit 2005-10-10 22:29:05 +10:00
ioctl32.c [SPARC]: Fix RTC compat ioctl kernel log spam. 2005-11-12 12:10:54 -08:00
irq.c powerpc: merge irq.c 2005-11-09 18:07:45 +11:00
lparcfg.c powerpc: Fix some compile problems with the VDSO stuff 2005-11-11 23:04:40 +11:00
lparmap.c [PATCH] ppc64: support 64k pages 2005-11-06 16:56:47 -08:00
Makefile [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
misc_32.S [PATCH] powerpc: Merge cacheflush.h and cache.h 2005-11-10 13:09:22 +11:00
misc_64.S ppc64: remove ppc_irq_dispatch_handler 2005-11-09 16:19:53 +11:00
of_device.c powerpc: apply recent changes to merged code 2005-10-31 13:57:01 +11:00
paca.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
pmc.c [PATCH] powerpc: Merge ppc64 pmc.[ch] with ppc32 perfmon.[ch] 2005-10-20 16:22:24 +10:00
ppc32.h powerpc: move include/asm-ppc64/ppc32.h to arch/powerpc/kernel 2005-11-03 16:03:28 +11:00
ppc_ksyms.c [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
proc_ppc64.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
process.c Merge ../linux-2.6 2005-11-07 14:42:09 +11:00
prom_init.c [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
prom.c Merge git://oak/home/sfr/kernels/iseries/work 2005-11-10 15:54:00 +11:00
ptrace32.c powerpc: apply recent changes to merged code 2005-10-31 13:57:01 +11:00
ptrace.c [PATCH] consolidate sys_ptrace() 2005-11-07 07:53:42 -08:00
rtas_flash.c powerpc: Merge remaining RTAS code 2005-11-03 14:41:19 +11:00
rtas_pci.c [PATCH] powerpc: Move more ppc64 files with no ppc32 equivalent to powerpc 2005-11-10 15:32:37 +11:00
rtas-proc.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
rtas.c [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
semaphore.c powerpc: Merge enough to start building in arch/powerpc. 2005-09-26 16:04:21 +10:00
setup_32.c powerpc: Move some extern declarations from C code into headers 2005-11-10 15:53:40 +11:00
setup_64.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
setup-common.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
setup.h powerpc: create kernel/setup.h 2005-11-09 11:35:26 +11:00
signal_32.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
signal_64.c [PATCH] powerpc: Kill ppcdebug 2005-11-07 12:37:45 +11:00
smp-tbsync.c powerpc: Merge smp-tbsync.c (the generic timebase sync routine) 2005-11-04 13:28:58 +11:00
smp.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
sys_ppc32.c [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
syscalls.c [PATCH] powerpc: Fix mmap returning 64 bit addresses 2005-10-21 22:47:52 +10:00
sysfs.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
systbl.S Merge rsync://oak/kernels/iseries/work/ 2005-10-18 14:53:41 +10:00
time.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
traps.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
udbg_16550.c [PATCH] powerpc: Move udbg code to arch/powerpc 2005-11-11 22:23:34 +11:00
udbg_scc.c [PATCH] powerpc: Move udbg code to arch/powerpc 2005-11-11 22:23:34 +11:00
udbg.c [PATCH] powerpc: Move udbg code to arch/powerpc 2005-11-11 22:23:34 +11:00
vdso.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
vecemu.c [PATCH] powerpc: Move arch/ppc*/kernel/vecemu.c to arch/powerpc 2005-09-21 19:21:07 +10:00
vector.S powerpc: Use reg.h instead of processor.h when we just want reg names 2005-10-10 22:20:10 +10:00
vio.c [PATCH] ppc64: add MODALIAS= for vio bus 2005-11-09 07:55:51 -08:00
vmlinux.lds.S powerpc: Fix vmlinux.lds.S for 32-bit 2005-11-05 10:36:59 +11:00