kernel-hacking-2024-linux-s.../arch/s390
Julia Lawall acfa922c5a [S390] s390: Remove redundant test
The loop above the modified code only terminates when rc is a valid pointer.

A simplified version of the semantic patch that makes this change is as
follows: (http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r exists@
local idexpression x;
expression E;
position p1,p2;
@@

if (x@p1 == NULL || ...) { ... when forall
   return ...; }
... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\)
(
x@p2 == NULL
|
x@p2 != NULL
)

// another path to the test that is not through p1?
@s exists@
local idexpression r.x;
position r.p1,r.p2;
@@

... when != x@p1
(
x@p2 == NULL
|
x@p2 != NULL
)

@fix depends on !s@
position r.p1,r.p2;
expression x,E;
statement S1,S2;
@@

(
- if ((x@p2 != NULL) || ...)
  S1
|
- if ((x@p2 == NULL) && ...) S1
|
- BUG_ON(x@p2 == NULL);
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-12-25 13:39:17 +01:00
..
appldata [S390] appldata: unsigned ops->size cannot be negative 2008-10-28 11:12:04 +01:00
boot
crypto Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 2008-07-14 14:48:31 -07:00
hypfs vfs: Use const for kernel parser table 2008-10-13 10:10:37 -07:00
include/asm [S390] clear_table inline assembly contraints 2008-12-25 13:39:15 +01:00
kernel [S390] s390: Remove redundant test 2008-12-25 13:39:17 +01:00
kvm KVM: s390: Fix problem state handling in guest sigp handler 2008-11-23 14:34:39 +02:00
lib [S390] Move private simple udelay function to arch/s390/lib/delay.c. 2008-10-10 21:33:58 +02:00
math-emu [S390] remove -traditional 2008-04-30 13:38:44 +02:00
mm [S390] pgtables: Fix race in enable_sie vs. page table ops 2008-10-28 11:12:03 +01:00
oprofile
defconfig [S390] Update default configuration. 2008-11-27 11:06:58 +01:00
Kconfig [S390] Remove config options. 2008-12-25 13:39:15 +01:00
Kconfig.debug
Makefile [S390] Add processor type march=z10 and a processor type safety check. 2008-12-25 13:39:12 +01:00