linux/arch/sparc/kernel
Julia Lawall 0d0659c78d arch/sparc/kernel: Eliminate what looks like a NULL pointer dereference
At the point of the test, action cannot be NULL, as it has been dereferenced
in the code just above.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression E,E1;
identifier f;
statement S1,S2,S3;
@@

if ((E == NULL && ...) || ...)
{
  ... when != if (...) S1 else S2
      when != E = E1
* E->f
  ... when any
}
else S3
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-06-04 16:17:37 -07:00
..
.gitignore sparc: gitignore a few files 2008-12-04 09:17:15 -08:00
apc.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
asm-offsets.c sparc,sparc64: unify asm-offsets.c 2008-12-04 09:17:12 -08:00
audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
auxio_32.c No auxio on LEON 2009-11-16 02:54:07 -08:00
auxio_64.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
btext.c sparc64: Faster early-boot framebuffer console. 2009-11-27 17:33:43 -08:00
central.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
cherrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
chmc.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
compat_audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
cpu.c sparc, leon: Added Aeroflex Gaisler entry in manufacturer_info structure 2009-12-02 22:28:49 -08:00
cpumap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cpumap.h sparc64: fix and optimize irq distribution 2009-06-16 04:56:28 -07:00
devices.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 2010-03-02 07:56:44 -08:00
dma.c sparc: Add CONFIG_DMA_API_DEBUG support 2009-08-10 09:35:00 +02:00
ds.c sparc64: Defer cpu_data() setup until end of per-cpu data initialization. 2009-06-16 04:56:22 -07:00
dtlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
dtlb_prot.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ebus.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
entry.h sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
entry.S sparc64: Add syscall tracepoint support. 2009-12-11 00:44:47 -08:00
etrap_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
etrap_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
fpu_traps.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ftrace.c sparc64: Add function graph tracer support. 2010-04-12 22:37:26 -07:00
getsetcc.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
head_32.S sparc,leon: Sparc-Leon SMP support 2009-11-02 04:19:42 -08:00
head_64.S sparc64: Store per-cpu offset in trap_block[] 2009-06-16 04:56:11 -07:00
helpers.S sparc64: Implement perf_arch_fetch_caller_regs 2010-04-03 23:50:59 -07:00
hvapi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hvcalls.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvtramp.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
idprom.c sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
iommu_common.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
iommu.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ioport.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
irq_32.c sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
irq_64.c sparc64: Run NMIs on the hardirq stack. 2010-04-14 02:04:29 -07:00
irq.h sparc32: Kill clear_profile_irq btfixup entry. 2008-09-19 21:17:59 -07:00
itlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
kernel.h sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
kgdb_32.c kgdb,sparc: Add in kgdb_arch_set_pc for sparc 2010-05-20 21:04:19 -05:00
kgdb_64.c kgdb,sparc: Add in kgdb_arch_set_pc for sparc 2010-05-20 21:04:19 -05:00
kprobes.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
kstack.h sparc64: Run NMIs on the hardirq stack. 2010-04-14 02:04:29 -07:00
ktlb.S sparc64: Increase vmalloc size to fix percpu regressions. 2009-09-28 14:39:58 -07:00
ldc.c sparc: use bitmap_find_next_zero_area 2009-12-16 07:20:19 -08:00
led.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leon_kernel.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leon_smp.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Makefile sparc64: Add function graph tracer support. 2010-04-12 22:37:26 -07:00
mdesc.c sparc64: Use free_bootmem_late() in mdesc_lmb_free(). 2009-12-11 01:16:46 -08:00
misctrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
module.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
muldiv.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
nmi.c sparc64: Run NMIs on the hardirq stack. 2010-04-14 02:04:29 -07:00
of_device_32.c of: eliminate of_device->node and dev_archdata->{of,prom}_node 2010-05-18 16:10:45 -06:00
of_device_64.c of: eliminate of_device->node and dev_archdata->{of,prom}_node 2010-05-18 16:10:45 -06:00
of_device_common.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
of_device_common.h sparc: move of_device common code to of_device_common 2009-06-16 04:56:49 -07:00
pci_common.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
pci_fire.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
pci_impl.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_msi.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
pci_psycho.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
pci_sabre.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
pci_schizo.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
pci_sun4v_asm.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_sun4v.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
pci_sun4v.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci.c of: eliminate of_device->node and dev_archdata->{of,prom}_node 2010-05-18 16:10:45 -06:00
pcic.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 2010-03-02 07:56:44 -08:00
pcr.c sparc64: Add function graph tracer support. 2010-04-12 22:37:26 -07:00
perf_event.c sparc64: Fix stack dumping and tracing when function graph is enabled. 2010-04-21 03:08:11 -07:00
pmc.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
power.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
process_32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
process_64.c sparc64: Show stack backtrace from show_regs() just like other platforms. 2010-04-21 02:31:50 -07:00
prom_32.c sparc,leon: Added support for AMBAPP bus. 2009-08-17 18:32:10 -07:00
prom_64.c sparc64: Defer cpu_data() setup until end of per-cpu data initialization. 2009-06-16 04:56:22 -07:00
prom_common.c of: merge of_find_node_by_phandle 2010-02-09 08:32:48 -07:00
prom_irqtrans.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
prom.h of/sparc: Remove sparc-local declaration of allnodes and devtree_lock 2010-02-14 13:02:44 -07:00
psycho_common.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
psycho_common.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ptrace_32.c sparc: Fix regset register window handling. 2010-03-31 18:05:05 -07:00
ptrace_64.c sparc: Fix regset register window handling. 2010-03-31 18:05:05 -07:00
reboot.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
rtrap_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
rtrap_64.S sparc64: Fix hardirq tracing in trap return path. 2010-04-20 00:48:37 -07:00
sbus.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
setup_32.c sparc: remove redundant return statements 2010-02-10 11:47:57 -08:00
setup_64.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
signal32.c sparc: Align clone and signal stacks to 16 bytes. 2010-02-09 16:18:40 -08:00
signal_32.c sparc: Align clone and signal stacks to 16 bytes. 2010-02-09 16:18:40 -08:00
signal_64.c sparc: Align clone and signal stacks to 16 bytes. 2010-02-09 16:18:40 -08:00
smp_32.c sparc,leon: Sparc-Leon SMP support 2009-11-02 04:19:42 -08:00
smp_64.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-04-13 00:28:45 -07:00
sparc_ksyms_32.c sparc: Eliminate PROMLIB_INTERNAL as it does nothing 2009-01-08 16:59:01 -08:00
sparc_ksyms_64.c sparc64: don't export static inline pci_ functions 2009-12-15 16:28:13 +10:30
spiterrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sstate.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
stacktrace.c sparc64: Fix stack dumping and tracing when function graph is enabled. 2010-04-21 03:08:11 -07:00
starfire.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sun4c_irq.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sun4d_irq.c arch/sparc/kernel: Eliminate what looks like a NULL pointer dereference 2010-06-04 16:17:37 -07:00
sun4d_smp.c sparc: remove trailing space in messages 2010-02-12 12:08:51 -08:00
sun4m_irq.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sun4m_smp.c sparc32: Kill trap table freeing code. 2009-08-18 23:44:08 -07:00
sun4v_ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sun4v_tlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys32.S sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
sys_sparc32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sys_sparc_32.c Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08:00
sys_sparc_64.c improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
syscalls.S sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
sysfs.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
systbls_32.S sparc_brk() is not needed anymore 2009-12-11 06:44:58 -05:00
systbls_64.S improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
systbls.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
tadpole.c
tick14.c sparc32: Delete claim_ticker14(). 2008-09-19 21:18:01 -07:00
time_32.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
time_64.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
trampoline_32.S sparc,leon: Sparc-Leon SMP support 2009-11-02 04:19:42 -08:00
trampoline_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
traps_32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
traps_64.c sparc64: Fix stack dumping and tracing when function graph is enabled. 2010-04-21 03:08:11 -07:00
tsb.S sparc64: Fix sun4u execute bit check in TSB I-TLB load. 2010-02-19 15:19:52 -08:00
ttable.S sparc64: Reschedule KGDB capture to a software interrupt. 2009-03-18 23:51:57 -07:00
una_asm_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
una_asm_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
unaligned_32.c sparc: Add alignment and emulation fault perf events. 2009-12-11 01:07:53 -08:00
unaligned_64.c sparc64: Use correct pt_regs in decode_access_size() error paths. 2010-04-19 13:46:48 -07:00
us2e_cpufreq.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
us3_cpufreq.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
utrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
vio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
viohs.c sparc64: refactor code in viohs.c 2009-01-06 12:46:46 -08:00
visemul.c sparc: Add alignment and emulation fault perf events. 2009-12-11 01:07:53 -08:00
vmlinux.lds.S sparc64: Support kmemleak. 2010-04-12 23:46:17 -07:00
windows.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
winfixup.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
wof.S sparc/kernel/: possible cleanups 2008-07-17 21:37:46 -07:00
wuf.S sparc/kernel/: possible cleanups 2008-07-17 21:37:46 -07:00