linux_dsm_epyc7002/arch/mips/kernel
Julia Lawall b265158399 MIPS: SMTC: Remove duplicate structure field initialization
The definition of the irq_ipi structure has two initializations of the
flags field.  This combines them.

[Ralf: The issue was originally introduced by commit
be4894196d79455f420dd7bb78be7dc73bec115c (linux-mips.org) rsp.
033890b084 (kernel.org).  The original
intention of the code was to initialize .flags with both flags ored together.
The broken C code as actually implemented will be compiled by an equally
broken gcc to use only the last initialization, that is IRQF_PERCPU
which means this turned into an SMTC bug for 2.6.23 and newer.]

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
identifier I, s, fld;
position p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@s@
identifier I, s, r.fld;
position r.p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@script:python@
p0 << r.p0;
fld << r.fld;
ps << s.p;
pr << r.p;
@@

if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):
  cocci.print_main(fld,p0)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2009-09-30 21:46:59 +02:00
..
.gitignore [MIPS] Ignore vmlinux.lds generated files 2008-08-26 09:10:27 +01:00
8250-platform.c [MIPS] Put an end to <asm/serial.h>'s long and annyoing existence 2007-07-10 17:33:01 +01:00
asm-offsets.c MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE. 2009-09-17 20:07:48 +02:00
binfmt_elfn32.c remove div_long_long_rem 2008-05-01 08:03:58 -07:00
binfmt_elfo32.c MIPS: 64-bit: Fix o32 core dump 2009-07-03 15:45:27 +01:00
branch.c MIPS: Compute branch returns for Cavium OCTEON specific branch instructions. 2009-01-11 09:57:24 +00:00
cevt-bcm1480.c MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
cevt-ds1287.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
cevt-gt641xx.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
cevt-r4k.c MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
cevt-sb1250.c MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
cevt-smtc.c MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
cevt-txx9.c MIPS: TXx9: micro optimization for clocksource and clock_event 2009-06-17 11:06:25 +01:00
cpu-bugs64.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
cpu-probe.c MIPS: BCM63xx: Add Broadcom 63xx CPU definitions. 2009-09-17 20:07:52 +02:00
csrc-bcm1480.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
csrc-ioasic.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
csrc-r4k.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
csrc-sb1250.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
early_printk.c [MIPS] fix sparse warning about setup_early_printk() 2008-07-15 18:44:29 +01:00
entry.S [MIPS] SMTC: Close tiny holes in the SMTC IPI replay system. 2008-10-03 17:58:58 +01:00
genex.S MIPS: Read watch registers with interrupts disabled. 2009-01-30 21:32:58 +00:00
gpio_txx9.c [MIPS] txx9: Make gpio_txx9 entirely spinlock-safe 2008-07-15 18:44:34 +01:00
head.S MIPS: Avoid clobbering struct pt_regs in kthreads 2009-08-03 17:52:41 +01:00
i8253.c MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
i8259.c cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
irq_cpu.c MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms 2009-03-30 14:49:44 +02:00
irq_txx9.c MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
irq-gic.c MIPS: CMP: Extend IPI handling to CPU number 2009-07-03 15:45:26 +01:00
irq-gt641xx.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
irq-msc01.c MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms 2009-03-30 14:49:44 +02:00
irq-rm7000.c [MIPS] Fix broken rm7000/rm9000 interrupt handling 2008-02-19 17:01:31 +00:00
irq-rm9000.c on_each_cpu(): kill unused 'retry' parameter 2008-06-26 11:24:38 +02:00
irq.c Merge branches 'irq/genirq' and 'linus' into irq/core 2009-03-16 09:20:13 +01:00
kgdb.c MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
kspd.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
linux32.c MIPS: Compat: Zero upper 32-bit of offset_high and offset_low. 2009-03-30 14:49:40 +02:00
machine_kexec.c [MIPS] Unconditionally writeback and invalidate caches on kexec. 2007-08-27 02:16:59 +01:00
Makefile mips: fix build of vmlinux.lds 2009-09-25 19:49:27 +02:00
mips_ksyms.c [MIPS] Export __copy_user_inatomic. 2007-03-07 00:07:17 +00:00
mips-mt-fpaff.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
mips-mt.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
module.c MIPS: Module: Make error messages unique. 2009-08-03 17:52:48 +01:00
octeon_switch.S MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. 2009-09-17 20:07:49 +02:00
proc.c MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
process.c MIPS: Avoid clobbering struct pt_regs in kthreads 2009-08-03 17:52:41 +01:00
ptrace32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
ptrace.c MIPS: Ptrace support for HARDWARE_WATCHPOINTS 2008-10-11 16:18:57 +01:00
r4k_fpu.S [MIPS] Check FCSR for pending interrupts, alternative version 2007-03-17 01:03:25 +00:00
r4k_switch.S MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. 2009-09-17 20:07:49 +02:00
r2300_fpu.S kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
r2300_switch.S MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. 2009-09-17 20:07:49 +02:00
r6000_fpu.S kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
relocate_kernel.S [MIPS] Kexec: Fix several 64-bit bugs. 2007-07-31 21:35:36 +01:00
reset.c [MIPS] Export pm_power_off 2006-12-10 21:52:11 +00:00
rtlx.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
scall32-o32.S perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
scall64-64.S perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
scall64-n32.S perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
scall64-o32.S perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
setup.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
signal32.c MIPS: CVE-2009-0029: Enable syscall wrappers. 2009-02-27 17:56:35 +00:00
signal_n32.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
signal-common.h [MIPS] replace remaining __FUNCTION__ occurrences 2008-04-28 17:14:27 +01:00
signal.c KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
smp-cmp.c cpumask: Use accessors for cpu_*_mask: mips 2009-09-24 09:34:48 +09:30
smp-mt.c cpumask: Use accessors for cpu_*_mask: mips 2009-09-24 09:34:48 +09:30
smp-up.c cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
smp.c MIPS: Remove duplicated #include 2009-09-30 21:46:58 +02:00
smtc-asm.S [MIPS] SMTC: Don't set and restore irqregs ptr from self_ipi. 2007-06-11 18:20:53 +01:00
smtc-proc.c [MIPS] SMP: Call platform methods via ops structure. 2008-01-29 10:14:57 +00:00
smtc.c MIPS: SMTC: Remove duplicate structure field initialization 2009-09-30 21:46:59 +02:00
spram.c [MIPS] Basic SPRAM support 2008-04-28 17:14:23 +01:00
stacktrace.c MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
sync-r4k.c MIPS: CMP: Update sync-r4k for current kernel 2009-07-03 15:45:27 +01:00
syscall.c MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler 2009-09-17 20:07:49 +02:00
time.c [MIPS] unexport null_perf_irq() and make it static 2008-04-28 17:14:31 +01:00
topology.c MIPS: Add arch generic CPU hotplug 2009-06-24 18:34:40 +01:00
traps.c MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler 2009-09-17 20:07:49 +02:00
unaligned.c MIPS: Use force_sig when handling address errors. 2009-05-14 13:50:29 +01:00
vmlinux.lds.S mips: fix build of vmlinux.lds 2009-09-25 19:49:27 +02:00
vpe.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
watch.c MIPS: Add HARDWARE_WATCHPOINTS definitions and support code. 2008-10-11 16:18:56 +01:00