linux_dsm_epyc7002/drivers/char
Julia Lawall 0fbcae222b drivers/char/mmtimer.c: eliminate useless code
The variable x is initialized twice to the same (side effect-free)
expression.  Drop one initialization.

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

// <smpl>
@forall@
idexpression *x;
identifier f!=ERR_PTR;
@@

x = f(...)
... when != x
(
x = f(...,<+...x...+>,...)
|
* x = f(...)
)
// </smpl>

Stefan observed:

  The next x = rb_entry(mn->next, struct mmtimer, list); is preceded by a
  test whether mn->next is NULL.

  Unless that test is redundant too, your patch fixes a potential NULL
  pointer dereference, introduced by commit cbacdd95 "SGI Altix mmtimer:
  allow larger number of timers per node" in 2.6.26.

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-12 15:52:43 -08:00
..
agp Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-03-04 07:49:37 -08:00
hw_random Merge with mainline to remove plat-omap/Kconfig conflict 2010-03-01 14:19:05 -08:00
ip2 tty: declare MODULE_FIRMWARE in various drivers 2010-03-02 14:43:15 -08:00
ipmi ipmi: fix slave_addrs setting to actually work 2010-03-12 15:52:40 -08:00
mwave
pcmcia cm4000_cs.c: Remove unnecessary cast 2010-02-17 17:37:33 +01:00
rio tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
tpm tpm_infineon: fix suspend/resume handler for pnp_driver 2010-02-11 13:59:42 -08:00
xilinx_hwicap
.gitignore
amiserial.c
apm-emulation.c
applicom.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
applicom.h
bfin_jtag_comm.c tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
bfin-otp.c
briq_panel.c
bsr.c
cd1865.h
ChangeLog
consolemap.c
cp437.uni
cs5535_gpio.c drivers: Remove BKL from cs5535_gpio 2009-10-14 17:36:48 +02:00
cyclades.c tty: declare MODULE_FIRMWARE in various drivers 2010-03-02 14:43:15 -08:00
defkeymap.c_shipped
defkeymap.map
digi1.h
digiFep1.h
digiPCI.h
ds1302.c
ds1620.c
dsp56k.c
dtlk.c
efirtc.c efirtc: explicitly set llseek to no_llseek 2009-12-16 07:19:59 -08:00
epca.c tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
epca.h
epcaconfig.h
generic_nvram.c nvram: Drop the bkl from nvram_llseek() 2009-10-14 17:36:49 +02:00
generic_serial.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
genrtc.c headers: Fix build after <linux/sched.h> removal 2009-10-13 10:20:16 -07:00
hangcheck-timer.c
hpet.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
hvc_beat.c Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-02-25 15:38:37 -08:00
hvc_console.c hvc_console: fix test on unsigned in hvc_console_print() 2010-03-02 14:43:13 -08:00
hvc_console.h hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_irq.c
hvc_iseries.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_iucv.c [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA 2010-03-08 12:25:29 +01:00
hvc_rtas.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_udbg.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_vio.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_xen.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvcs.c
hvsi.c
i8k.c
isicom.c tty: declare MODULE_FIRMWARE in various drivers 2010-03-02 14:43:15 -08:00
istallion.c tty: istallion: tty port open/close methods 2009-12-11 15:18:06 -08:00
Kconfig virtio: console: Associate each port with a char device 2010-02-24 14:22:53 +10:30
keyboard.c Input: add match() method to input hanlders 2010-02-04 00:25:19 -08:00
lp.c lp: move compat_ioctl handling into lp.c 2009-12-10 22:55:36 +01:00
Makefile tty: esp: remove broken driver 2009-12-11 15:18:03 -08:00
mbcs.c
mbcs.h
mem.c drivers/char/mem.c: cleanups 2010-03-12 15:52:35 -08:00
misc.c drivers/char/misc.c: use bitmap/bitops functions for dynamic minor number allocation 2009-12-15 08:53:27 -08:00
mmtimer.c drivers/char/mmtimer.c: eliminate useless code 2010-03-12 15:52:43 -08:00
moxa.c tty: declare MODULE_FIRMWARE in various drivers 2010-03-02 14:43:15 -08:00
moxa.h
mspec.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mxser.c tty: char: mxser, remove unnecessary tty test 2010-03-02 14:43:12 -08:00
mxser.h
n_hdlc.c
n_r3964.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
n_tty.c ldisc n_tty: add new method n_tty_inherit_ops() 2010-03-12 15:52:43 -08:00
nozomi.c tty: Fix up char drivers request_room usage 2010-03-02 14:43:22 -08:00
nsc_gpio.c
nvram.c Merge branches 'futexes-for-linus', 'irq-core-for-linus' and 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-01 08:51:52 -08:00
nwbutton.c
nwbutton.h
nwflash.c ARM: add missing include to nwflash.c 2009-12-19 23:36:00 +00:00
pc8736x_gpio.c drivers: Remove BKL from pc8736x_gpio 2009-10-14 17:36:52 +02:00
ppdev.c
ps3flash.c
pty.c tty: push the BKL down into the handlers a bit 2009-12-11 15:18:08 -08:00
random.c random: Remove unused inode variable 2010-02-02 06:50:27 +11:00
raw.c
riscom8_reg.h
riscom8.c tty: riscom8: switch to the tty_port_open API 2009-12-11 15:18:06 -08:00
riscom8.h
rocket_int.h
rocket.c
rocket.h
rtc.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
scc.h
scx200_gpio.c drivers: Remove BKL from scx200_gpio 2009-10-14 17:36:53 +02:00
selection.c
ser_a2232.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c tty: Fix up char drivers request_room usage 2010-03-02 14:43:22 -08:00
snsc_event.c
snsc.c
snsc.h
sonypi.c sony_pi: Remove the BKL from open and ioctl 2010-01-04 12:31:20 -08:00
specialix_io8.h
specialix.c tty: Fix up char drivers request_room usage 2010-03-02 14:43:22 -08:00
stallion.c tty: stallion: Convert to the tty_port_open/close methods 2009-12-11 15:18:06 -08:00
sx.c
sx.h
sxboards.h
sxwindow.h
synclink_gt.c serial: synclink_gt: dropped transmit data bugfix 2010-03-02 14:43:08 -08:00
synclink.c Char: synclink, remove unnecessary checks 2010-03-02 14:43:16 -08:00
synclinkmp.c
sysrq.c oom-kill: fix NUMA constraint check with nodemask 2009-12-16 07:19:57 -08:00
tb0219.c mips: Remove BKL from tb0219 2009-10-14 17:36:53 +02:00
tlclk.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
toshiba.c tosh: Use non bkl ioctl 2010-01-04 12:31:21 -08:00
tty_audit.c copy_signal() cleanup: clean tty_audit_fork() 2010-03-12 15:52:39 -08:00
tty_buffer.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-03-03 08:48:58 -08:00
tty_io.c Fix race in tty_fasync() properly 2010-02-07 10:26:01 -08:00
tty_ioctl.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
tty_ldisc.c tty: Fix the ldisc hangup race 2010-03-02 14:43:22 -08:00
tty_port.c tty: tty_port: Add a kref object to the tty port 2009-12-11 15:18:07 -08:00
uv_mmtimer.c x86, UV: Fix RTC latency bug by reading replicated cachelines 2010-01-27 11:33:53 +01:00
vc_screen.c
viotape.c
virtio_console.c virtio: console: Use better variable names for fill_queue operation 2010-03-04 13:40:39 +05:30
vme_scc.c m68k: vme_scc - __init annotations 2010-02-27 18:27:14 +01:00
vt_ioctl.c tty: Add a new VT mode which is like VT_PROCESS but doesn't require a VT_RELDISP ioctl call 2010-03-02 14:43:23 -08:00
vt.c vt: make the default cursor shape configurable 2009-12-16 07:19:57 -08:00