/// If list_for_each_entry, etc complete a traversal of the list, the iterator /// variable ends up pointing to an address at an offset from the list head, /// and not a meaningful structure. Thus this value should not be used after /// the end of the iterator. //#False positives arise when there is a goto in the iterator and the //#reported reference is at the label of this goto. Some flag tests //#may also cause a report to be a false positive. /// // Confidence: Moderate // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. // Copyright: (C) 2012 Gilles Muller, INRIA/LIP6. GPLv2. // URL: http://coccinelle.lip6.fr/ // Comments: // Options: --no-includes --include-headers virtual context virtual org virtual report @r exists@ identifier c,member; expression E,x; iterator name list_for_each_entry; iterator name list_for_each_entry_reverse; iterator name list_for_each_entry_continue; iterator name list_for_each_entry_continue_reverse; iterator name list_for_each_entry_from; iterator name list_for_each_entry_safe; iterator name list_for_each_entry_safe_continue; iterator name list_for_each_entry_safe_from; iterator name list_for_each_entry_safe_reverse; iterator name hlist_for_each_entry; iterator name hlist_for_each_entry_continue; iterator name hlist_for_each_entry_from; iterator name hlist_for_each_entry_safe; statement S; position p1,p2; @@ ( list_for_each_entry@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_reverse@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_continue@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_continue_reverse@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_from@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_safe@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_safe_continue@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_safe_from@p1(c,...,member) { ... when != break; when forall when strict } | list_for_each_entry_safe_reverse@p1(c,...,member) { ... when != break; when forall when strict } ) ... ( list_for_each_entry(c,...) S | list_for_each_entry_reverse(c,...) S | list_for_each_entry_continue(c,...) S | list_for_each_entry_continue_reverse(c,...) S | list_for_each_entry_from(c,...) S | list_for_each_entry_safe(c,...) S | list_for_each_entry_safe(x,c,...) S | list_for_each_entry_safe_continue(c,...) S | list_for_each_entry_safe_continue(x,c,...) S | list_for_each_entry_safe_from(c,...) S | list_for_each_entry_safe_from(x,c,...) S | list_for_each_entry_safe_reverse(c,...) S | list_for_each_entry_safe_reverse(x,c,...) S | hlist_for_each_entry(c,...) S | hlist_for_each_entry_continue(c,...) S | hlist_for_each_entry_from(c,...) S | hlist_for_each_entry_safe(c,...) S | list_remove_head(x,c,...) | sizeof(<+...c...+>) | &c->member | c = E | *c@p2 ) @script:python depends on org@ p1 << r.p1; p2 << r.p2; @@ cocci.print_main("invalid iterator index reference",p2) cocci.print_secs("iterator",p1) @script:python depends on report@ p1 << r.p1; p2 << r.p2; @@ msg = "ERROR: invalid reference to the index variable of the iterator on line %s" % (p1[0].line) coccilib.report.print_report(p2[0], msg) n value='9'>9space:mode:
authorOlof Johansson <olof@lixom.net>2017-01-29 21:00:48 -0800
committerOlof Johansson <olof@lixom.net>2017-01-29 21:00:48 -0800
commit0a019a28e0ca0af7dc2691d1a9527960b07ad2bb (patch)
tree5ee1db9aacacd6af6701fb290e8a294ef3cc2bf2 /sound/soc/sh/rcar/rsnd.h
parentec026b5020688a8bde5fae9a69ae3c59b66ba3ae (diff)
parent8413299cb3933dade6186bbee8363f190032107e (diff)
Merge tag 'sti-dt-for-v4.10-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into fixes
STi DT fix: Since v4.10-rc1, xhci is complaining in loop with : [ 801.953836] usb usb6-port1: Cannot enable. Maybe the USB cable is bad? [ 801.960455] xhci-hcd xhci-hcd.0.auto: Cannot set link state. [ 801.966611] usb usb6-port1: cannot disable (err = -32) set property "snps,dis_u3_susphy_quirk" in DT fix it. * tag 'sti-dt-for-v4.10-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti: ARM: dts: STiH407-family: set snps,dis_u3_susphy_quirk Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'sound/soc/sh/rcar/rsnd.h')