/usr/src/linux-headers-5.15.0-190/scripts/coccinelle/misc
NameSizeModeActions
add_namespace.cocci8370644editdlrm
array_size.cocci17290644editdlrm
array_size_dup.cocci48940644editdlrm
badty.cocci17290644editdlrm
boolconv.cocci15060644editdlrm
boolreturn.cocci6980644editdlrm
bugon.cocci15150644editdlrm
cond_no_effect.cocci21210644editdlrm
cstptr.cocci8520644editdlrm
doubleinit.cocci14080644editdlrm
excluded_middle.cocci6770644editdlrm
flexible_array.cocci18210644editdlrm
ifaddr.cocci6840644editdlrm
ifcol.cocci12580644editdlrm
irqf_oneshot.cocci20070644editdlrm
minmax.cocci32880644editdlrm
newline_in_nl_msg.cocci16500644editdlrm
noderef.cocci12190644editdlrm
of_table.cocci13660644editdlrm
orplus.cocci10530644editdlrm
returnvar.cocci12860644editdlrm
semicolon.cocci10950644editdlrm
swap.cocci15170644editdlrm
uninitialized_var.cocci16290644editdlrm
warn.cocci16860644editdlrm
Edit: /usr/src/linux-headers-5.15.0-190/scripts/coccinelle/misc/flexible_array.cocci (1821B)
// SPDX-License-Identifier: GPL-2.0-only /// /// Zero-length and one-element arrays are deprecated, see /// Documentation/process/deprecated.rst /// Flexible-array members should be used instead. /// // // Confidence: High // Copyright: (C) 2020 Denis Efremov ISPRAS. // Comments: // Options: --no-includes --include-headers virtual context virtual report virtual org virtual patch @initialize:python@ @@ def relevant(positions): for p in positions: if "uapi" in p.file: return False return True @r depends on !patch@ identifier name, array; type T; position p : script:python() { relevant(p) }; @@ ( struct name { ... * T array@p[\(0\|1\)]; }; | struct { ... * T array@p[\(0\|1\)]; }; | union name { ... * T array@p[\(0\|1\)]; }; | union { ... * T array@p[\(0\|1\)]; }; ) @only_field depends on patch@ identifier name, array; type T; position q; @@ ( struct name {@q T array[0]; }; | struct {@q T array[0]; }; ) @depends on patch@ identifier name, array; type T; position p : script:python() { relevant(p) }; // position @q with rule "only_field" simplifies // handling of bitfields, arrays, etc. position q != only_field.q; @@ ( struct name {@q ... T array@p[ - 0 ]; }; | struct {@q ... T array@p[ - 0 ]; }; ) @script: python depends on report@ p << r.p; @@ msg = "WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)" coccilib.report.print_report(p[0], msg) @script: python depends on org@ p << r.p; @@ msg = "WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)" coccilib.org.print_todo(p[0], msg)