OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-213
/
scripts
/
coccinelle
/
misc
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
array_size.cocci
1.66 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
badty.cocci
1.68 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
boolconv.cocci
1.44 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
boolinit.cocci
2.2 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
boolreturn.cocci
698 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bugon.cocci
1.45 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cond_no_effect.cocci
2.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cstptr.cocci
827 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
doubleinit.cocci
1.36 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ifaddr.cocci
659 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
ifcol.cocci
1.21 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irqf_oneshot.cocci
1.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
noderef.cocci
1.17 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
of_table.cocci
1.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
orplus.cocci
1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
returnvar.cocci
1.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
semicolon.cocci
1.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
warn.cocci
1.62 KB
01/28/2018 09:20:33 PM
rw-r--r--
Editing: irqf_oneshot.cocci
Close
// SPDX-License-Identifier: GPL-2.0 /// Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests") /// threaded IRQs without a primary handler need to be requested with /// IRQF_ONESHOT, otherwise the request will fail. /// /// So pass the IRQF_ONESHOT flag in this case. /// // // Confidence: Moderate // Comments: // Options: --no-includes virtual patch virtual context virtual org virtual report @r1@ expression dev, irq, thread_fn; position p; @@ ( request_threaded_irq@p(irq, NULL, thread_fn, ( IRQF_ONESHOT | ... | IRQF_ONESHOT ) , ...) | devm_request_threaded_irq@p(dev, irq, NULL, thread_fn, ( IRQF_ONESHOT | ... | IRQF_ONESHOT ) , ...) ) @r2@ expression dev, irq, thread_fn, flags, e; position p != r1.p; @@ ( flags = IRQF_ONESHOT | ... | flags |= IRQF_ONESHOT | ... ) ... when != flags = e ( request_threaded_irq@p(irq, NULL, thread_fn, flags, ...); | devm_request_threaded_irq@p(dev, irq, NULL, thread_fn, flags, ...); ) @depends on patch@ expression dev, irq, thread_fn, flags; position p != {r1.p,r2.p}; @@ ( request_threaded_irq@p(irq, NULL, thread_fn, ( -0 +IRQF_ONESHOT | -flags +flags | IRQF_ONESHOT ) , ...) | devm_request_threaded_irq@p(dev, irq, NULL, thread_fn, ( -0 +IRQF_ONESHOT | -flags +flags | IRQF_ONESHOT ) , ...) ) @depends on context@ expression dev, irq; position p != {r1.p,r2.p}; @@ ( *request_threaded_irq@p(irq, NULL, ...) | *devm_request_threaded_irq@p(dev, irq, NULL, ...) ) @match depends on report || org@ expression dev, irq; position p != {r1.p,r2.p}; @@ ( request_threaded_irq@p(irq, NULL, ...) | devm_request_threaded_irq@p(dev, irq, NULL, ...) ) @script:python depends on org@ p << match.p; @@ msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT" coccilib.org.print_todo(p[0],msg) @script:python depends on report@ p << match.p; @@ msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT" coccilib.report.print_report(p[0],msg)