ACIL FM
Dark
Refresh
Current DIR:
/usr/src/kernels/5.14.0-611.27.1.el9_7.x86_64/scripts/coccinelle/api
/
usr
src
kernels
5.14.0-611.27.1.el9_7.x86_64
scripts
coccinelle
api
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
alloc
-
chmod
Open
Rename
Delete
debugfs
-
chmod
Open
Rename
Delete
atomic_as_refcounter.cocci
2.22 MB
chmod
View
DL
Edit
Rename
Delete
check_bq27xxx_data.cocci
3.46 MB
chmod
View
DL
Edit
Rename
Delete
device_attr_show.cocci
1.08 MB
chmod
View
DL
Edit
Rename
Delete
d_find_alias.cocci
1.28 MB
chmod
View
DL
Edit
Rename
Delete
err_cast.cocci
1.09 MB
chmod
View
DL
Edit
Rename
Delete
kfree_mismatch.cocci
5.56 MB
chmod
View
DL
Edit
Rename
Delete
kfree_sensitive.cocci
1.91 MB
chmod
View
DL
Edit
Rename
Delete
kstrdup.cocci
2.42 MB
chmod
View
DL
Edit
Rename
Delete
kvmalloc.cocci
6.13 MB
chmod
View
DL
Edit
Rename
Delete
memdup.cocci
1.33 MB
chmod
View
DL
Edit
Rename
Delete
memdup_user.cocci
2.58 MB
chmod
View
DL
Edit
Rename
Delete
platform_get_irq.cocci
1.22 MB
chmod
View
DL
Edit
Rename
Delete
platform_no_drv_owner.cocci
3.81 MB
chmod
View
DL
Edit
Rename
Delete
pm_runtime.cocci
2.37 MB
chmod
View
DL
Edit
Rename
Delete
resource_size.cocci
2.08 MB
chmod
View
DL
Edit
Rename
Delete
simple_open.cocci
1.21 MB
chmod
View
DL
Edit
Rename
Delete
stream_open.cocci
7.7 MB
chmod
View
DL
Edit
Rename
Delete
vma_pages.cocci
1.48 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/src/kernels/5.14.0-611.27.1.el9_7.x86_64/scripts/coccinelle/api/check_bq27xxx_data.cocci
// SPDX-License-Identifier: GPL-2.0-only /// Detect BQ27XXX_DATA structures with identical registers, dm registers or /// properties. //# Doesn't unfold macros used in register or property fields. //# Requires OCaml scripting /// // Confidence: High // Copyright: (C) 2017 Julia Lawall, Inria/LIP6, // URL: http://coccinelle.lip6.fr/ // Requires: 1.0.7 // Keywords: BQ27XXX_DATA virtual report @initialize:ocaml@ @@ let print_report p msg = let p = List.hd p in Printf.printf "%s:%d:%d-%d: %s" p.file p.line p.col p.col_end msg @str depends on report@ type t; identifier i,i1,i2; expression e1,e2; @@ t i[] = { ..., [e1] = BQ27XXX_DATA(i1,...), ..., [e2] = BQ27XXX_DATA(i2,...), ..., }; @script:ocaml tocheck@ i1 << str.i1; i2 << str.i2; i1regs; i2regs; i1dmregs; i2dmregs; i1props; i2props; @@ if not(i1 = i2) then begin i1regs := make_ident (i1 ^ "_regs"); i2regs := make_ident (i2 ^ "_regs"); i1dmregs := make_ident (i1 ^ "_dm_regs"); i2dmregs := make_ident (i2 ^ "_dm_regs"); i1props := make_ident (i1 ^ "_props"); i2props := make_ident (i2 ^ "_props") end (* ---------------------------------------------------------------- *) @getregs1@ typedef u8; identifier tocheck.i1regs; initializer list i1regs_vals; position p1; @@ u8 i1regs@p1[...] = { i1regs_vals, }; @getregs2@ identifier tocheck.i2regs; initializer list i2regs_vals; position p2; @@ u8 i2regs@p2[...] = { i2regs_vals, }; @script:ocaml@ (_,i1regs_vals) << getregs1.i1regs_vals; (_,i2regs_vals) << getregs2.i2regs_vals; i1regs << tocheck.i1regs; i2regs << tocheck.i2regs; p1 << getregs1.p1; p2 << getregs2.p2; @@ if i1regs < i2regs && List.sort compare i1regs_vals = List.sort compare i2regs_vals then let msg = Printf.sprintf "WARNING %s and %s (line %d) are identical\n" i1regs i2regs (List.hd p2).line in print_report p1 msg (* ---------------------------------------------------------------- *) @getdmregs1@ identifier tocheck.i1dmregs; initializer list i1dmregs_vals; position p1; @@ struct bq27xxx_dm_reg i1dmregs@p1[] = { i1dmregs_vals, }; @getdmregs2@ identifier tocheck.i2dmregs; initializer list i2dmregs_vals; position p2; @@ struct bq27xxx_dm_reg i2dmregs@p2[] = { i2dmregs_vals, }; @script:ocaml@ (_,i1dmregs_vals) << getdmregs1.i1dmregs_vals; (_,i2dmregs_vals) << getdmregs2.i2dmregs_vals; i1dmregs << tocheck.i1dmregs; i2dmregs << tocheck.i2dmregs; p1 << getdmregs1.p1; p2 << getdmregs2.p2; @@ if i1dmregs < i2dmregs && List.sort compare i1dmregs_vals = List.sort compare i2dmregs_vals then let msg = Printf.sprintf "WARNING %s and %s (line %d) are identical\n" i1dmregs i2dmregs (List.hd p2).line in print_report p1 msg (* ---------------------------------------------------------------- *) @getprops1@ identifier tocheck.i1props; initializer list[n1] i1props_vals; position p1; @@ enum power_supply_property i1props@p1[] = { i1props_vals, }; @getprops2@ identifier tocheck.i2props; initializer list[n2] i2props_vals; position p2; @@ enum power_supply_property i2props@p2[] = { i2props_vals, }; @script:ocaml@ (_,i1props_vals) << getprops1.i1props_vals; (_,i2props_vals) << getprops2.i2props_vals; i1props << tocheck.i1props; i2props << tocheck.i2props; p1 << getprops1.p1; p2 << getprops2.p2; @@ if i1props < i2props && List.sort compare i1props_vals = List.sort compare i2props_vals then let msg = Printf.sprintf "WARNING %s and %s (line %d) are identical\n" i1props i2props (List.hd p2).line in print_report p1 msg
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply