aboutsummaryrefslogtreecommitdiff
path: root/scripts/coccinelle
AgeCommit message (Collapse)AuthorFilesLines
2016-12-11Coccinelle: Add misc/boolconv.cocciAndrew F. Davis1-0/+90
Add a script to check for unneeded conversions to bool. Signed-off-by: Andrew F. Davis <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-10-11Coccinelle: flag conditions with no effectNicholas Mc Guire1-0/+64
Report code constructs where the if and else branch are functionally identical. In cases where this is intended it really should be documented - most reported cases probably are bugs. Signed-off-by: Nicholas Mc Guire <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-10-01Coccinelle: pm_runtime: ensure relevance of pm_runtime reportsJulia Lawall1-7/+11
pm_runtime.cocci starts with one rule that searches for a variety of functions calls, followed by various rules that report errors. Previously, the only connection between the first rule and the rest was to check that the first rule had matched somewhere. Change the rules to propagate a position from the first rule to the others, to make sure that the sites reported on are the same as the sites that were identified as having the relevant functions. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-10-01Coccinelle: limit memdup_user transformation to GFP_KERNEL caseJulia Lawall1-4/+4
Memdup_user encapsulates a memory allocation with the flag GFP_KERNEL, so only allow this flag in the original code. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-07-22scripts/coccinelle: require coccinelle >= 1.0.4 on device_node_continue.cocciLuis R. Rodriguez1-0/+3
Make use of the new Requires: tag to be able to specify coccinelle binary version requirements. The cocci file device_node_continue.cocci requires at least coccinelle 1.0.4. Signed-off-by: Luis R. Rodriguez <[email protected]> Acked-by: Julia Lawall <[email protected]> Acked-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-06-21coccinelle: catch krealloc() on devm_*() allocated memoryYann Droneaud1-0/+4
krealloc() must not be used against devm_*() allocated memory regions: - if a bigger memory is to be allocated, krealloc() and __krealloc() could return a different pointer than the one given to them, creating a memory region which is not managed, thus it will not be automatically released on device removal. - if a bigger memory is to be allocated, krealloc() could kfree() the managed memory region which is passed to it. The old pointer is left registered as a resource for the device. On device removal, this dangling pointer will be used and an unrelated memory region could be released. - if the requested size is equal to 0, krealloc() can also just behave like kfree(). Here too, the old pointer is kept associated with the device. On device removal, this invalid pointer will be used and an unrelated memory region could be released. For all these reasons, krealloc() must not be used on a pointer returned by devm_*() functions. Cc: Tejun Heo <[email protected]> Cc: Pekka Enberg <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Yann Droneaud <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-06-21coccinelle: recognize more devm_* memory allocation functionsYann Droneaud1-0/+20
Updates free/devm_free.cocci to recognize functions added by: - commit 64c862a839a8 ('devres: add kernel standard devm_k.alloc functions') - commit e31108cad3de ('devres: introduce API "devm_kstrdup"') - commit 3046365bb470 ('devres: introduce API "devm_kmemdup') - commit 43339bed7010 ('devres: Add devm_get_free_pages API') - commit 75f2a4ead5d5 ('devres: Add devm_kasprintf and devm_kvasprintf API') See also Documentation/driver-model/devres.txt Cc: Joe Perches <[email protected]> Cc: Manish Badarkhe <[email protected]> Cc: Srinivas Pandruvada <[email protected]> Cc: Eli Billauer <[email protected]> Cc: Himangi Saraogi <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Wolfram Sang <[email protected]> Cc: Daniel Thompson <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Yann Droneaud <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-06-21coccinelle: also catch kzfree() issuesYann Droneaud4-5/+25
Since commit 3ef0e5ba4673 ('slab: introduce kzfree()'), kfree() is no more the only function to be considered: kzfree() should be recognized too. In particular, kzfree() must not be called on memory allocated through devm_*() functions. Cc: Johannes Weiner <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Yann Droneaud <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-06-20Coccinelle: noderef: Add new rules and correct the old ruleVaishali Thakkar1-1/+17
Add new rules to detect the cases where sizeof is used in function calls as a argument. Also, for the patch mode third rule should behave same as second rule with arguments reversed. So, change that as well. Signed-off-by: Vaishali Thakkar <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-05-26Merge branch 'misc' of ↵Linus Torvalds2-173/+2
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: "This is the non-critical part of kbuild: - Coccinelle fixes, one semantic patch less in this round [Vaishali Thakkar, Wolfram Sang, Kees Cook] - rpm-pkg support for (open)SUSE's update-bootloader [Jiří Kosian] - rpm-pkg restored support for $RPMOPTS [Srinivas Pandruvada] - deb-pkg fixes for the linux-headers package [Bjørn Mork, Azriel Samson]" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: coccicheck: Fix missing 0 index in kill loop scripts/package/Makefile: rpmbuild add support of RPMOPTS builddeb: fix missing headers in linux-headers package builddeb: include objtool binary in headers package kbuild/mkspec: support 'update-bootloader'-based systems scripts: coccinelle: remove check to move constants to right Coccinelle: setup_timer: Add space in front of parentheses
2016-04-20scripts: coccinelle: remove check to move constants to rightWolfram Sang1-171/+0
The header mentions this check depends on personal taste. I agree. Running coccicheck on patches before I apply them, this SmPL produced enough false positives for me that I'd rather see it removed. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-04-20Coccinelle: setup_timer: Add space in front of parenthesesVaishali Thakkar1-2/+2
Add space in front of the offending parentheses to silent the parse error for older Coccinelle versions. This makes the rule usable with all Coccinelle versions. Reported-by: Nishanth Menon <[email protected]> Signed-off-by: Vaishali Thakkar <[email protected]> Acked-by: Julia Lawall <[email protected]> Fixes: c5eda8fd10c6 ("Coccinelle: Add api/setup_timer.cocci") Signed-off-by: Michal Marek <[email protected]>
2016-04-12debugfs, coccinelle: check for obsolete DEFINE_SIMPLE_ATTRIBUTE() usageNicolai Stange1-0/+67
In order to protect against file removal races, debugfs files created via debugfs_create_file() now get wrapped by a struct file_operations at their opening. If the original struct file_operations are known to be safe against removal races by themselves already, the proxy creation may be bypassed by creating the files through debugfs_create_file_unsafe(). In order to help debugfs users who use the common DEFINE_SIMPLE_ATTRIBUTE() + debugfs_create_file() idiom to transition to removal safe struct file_operations, the helper macro DEFINE_DEBUGFS_ATTRIBUTE() has been introduced. Thus, the preferred strategy is to use DEFINE_DEBUGFS_ATTRIBUTE() + debugfs_create_file_unsafe() now. Introduce a Coccinelle script that searches for DEFINE_SIMPLE_ATTRIBUTE()-defined struct file_operations handed into debugfs_create_file(). Suggest to turn these usages into the DEFINE_DEBUGFS_ATTRIBUTE() + debugfs_create_file_unsafe() pattern. Signed-off-by: Nicolai Stange <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-02-18Coccinelle: Add api/setup_timer.cocciVaishali Thakkar1-0/+199
Use the timer API function setup_timer instead of structure field assignments to initialize a timer. Signed-off-by: Vaishali Thakkar <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-02-18coccinelle: bugon: reduce rule applicabilityJulia Lawall1-1/+1
Rule r is only use in org or report mode, so only execute it in those cases. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-02-18Coccinelle: pm_runtime: reduce rule applicabilityJulia Lawall1-1/+1
Rule r is only used in org or report mode, so only execute it in those cases. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-02-18Coccinelle: array_size: reduce rule applicabilityJulia Lawall1-1/+1
Rule r is only use in org or report mode, so only execute it in those cases. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-02-18Coccinelle: reduce rule applicabilityJulia Lawall1-1/+1
Rule r is only use in org or report mode, so only execute it in those cases. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2016-02-18scripts/coccinelle: modernize &Julia Lawall1-1/+1
& is no longer allowed in column 0, since Coccinelle 1.0.4. Signed-off-by: Julia Lawall <[email protected]> Tested-by: Nishanth Menon <[email protected]> Cc: [email protected] Signed-off-by: Michal Marek <[email protected]>
2016-01-12coccinelle: tests: unsigned value cannot be lesser than zeroAndrzej Hajda1-0/+75
Unsigned expressions cannot be lesser than zero. Presence of comparisons 'unsigned (<|<=|>|>=) 0' often indicates a bug, usually wrong type of variable. The patch beside finding such comparisons tries to eliminate false positives, mainly by bypassing range checks. gcc can detect such comparisons also using -Wtype-limits switch, but it warns also in correct cases, making too much noise. Signed-off-by: Andrzej Hajda <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26coccinelle: Improve checking for missing NULL terminatorsDaniel Granat1-5/+28
Extend checking on tables containing structures which are initialized without specifying member name. Added new tables for checking: i2c_device_id and platform_device_id. Signed-off-by: Daniel Granat <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26coccinelle: ifnullfree: handle various destroy functionsJulia Lawall1-1/+9
Extend ifnullfree to the various destroy functions that were recently extended to tolerate NULL arguments. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26coccinelle: ifnullfree: various cleanupsJulia Lawall1-11/+7
Adjust tests to compare against NULL, to match cases that explicitly make that comparison. Remove removal and re-addition of freeing functions. Add position variable on usb_free_urb in the non-patch case. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26cocinelle: iterators: semantic patch to delete unneeded of_node_putJulia Lawall1-0/+100
Device node iterators perform an of_node_put on each iteration, so putting an of_node_put before a continue results in a double put. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26scripts/coccinelle: fix typosJulia Lawall1-2/+2
Fix a couple spelling mistakes. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26coccinelle: misc: remove "complex return code" warningsJohan Hovold1-180/+0
This effectively reverts 932058a5d5f9 ("coccinelle: misc: semantic patch to delete overly complex return code processing"). There can be both symmetry and readability reasons for not wanting to do the final function call as part of the return statement and to maintain a clear separation of success and error paths. Since this is in no way mandated by the coding standard, let's just remove this semantic patch to avoid having "clean up" patches being posted over and over in response to these Coccinelle warnings. Signed-off-by: Johan Hovold <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26coccinelle: tests: improve odd_ptr_err.cocciJulia Lawall1-34/+86
The original version only considered the case where the then branch contains only one call to PTR_ERR. Reimplement the whole thing to allow multiple calls, with potentially different arguments. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-10-26coccinelle: misc: move constants to the rightJulia Lawall1-0/+171
Move constants to the right in binary operators. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-09-08Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-0/+84
Merge second patch-bomb from Andrew Morton: "Almost all of the rest of MM. There was an unusually large amount of MM material this time" * emailed patches from Andrew Morton <[email protected]>: (141 commits) zpool: remove no-op module init/exit mm: zbud: constify the zbud_ops mm: zpool: constify the zpool_ops mm: swap: zswap: maybe_preload & refactoring zram: unify error reporting zsmalloc: remove null check from destroy_handle_cache() zsmalloc: do not take class lock in zs_shrinker_count() zsmalloc: use class->pages_per_zspage zsmalloc: consider ZS_ALMOST_FULL as migrate source zsmalloc: partial page ordering within a fullness_list zsmalloc: use shrinker to trigger auto-compaction zsmalloc: account the number of compacted pages zsmalloc/zram: introduce zs_pool_stats api zsmalloc: cosmetic compaction code adjustments zsmalloc: introduce zs_can_compact() function zsmalloc: always keep per-class stats zsmalloc: drop unused variable `nr_to_migrate' mm/memblock.c: fix comment in __next_mem_range() mm/page_alloc.c: fix type information of memoryless node memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node() ...
2015-09-08coccinelle: mm: scripts/coccinelle/api/alloc/pool_zalloc-simple.cocciSean O. Stalley1-0/+84
add [pci|dma]_pool_zalloc coccinelle check. replaces instances of [pci|dma]_pool_alloc() followed by memset(0) with [pci|dma]_pool_zalloc(). Signed-off-by: Sean O. Stalley <[email protected]> Acked-by: Julia Lawall <[email protected]> Cc: Vinod Koul <[email protected]> Cc: Bjorn Helgaas <[email protected]> Cc: Gilles Muller <[email protected]> Cc: Nicolas Palix <[email protected]> Cc: Michal Marek <[email protected]> Cc: Sebastian Andrzej Siewior <[email protected]> Cc: Jonathan Corbet <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2015-08-19coccinelle: api: extend spatch for dropping unnecessary ownerKrzysztof Kozlowski1-0/+73
i2c_add_driver (through i2c_register_driver) sets the owner field so we can drop it also from i2c drivers, just like from platform drivers. Signed-off-by: Krzysztof Kozlowski <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-06-03coccinelle: simple_return: Add a blank lineFabio Estevam1-1/+1
Insert a blank line in order to improve the readability of the generated patch and also make it consistent with the other .cocci files. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-25coccinelle: irqf_oneshot.cocci: Improve the generated commit logFabio Estevam1-2/+5
Improve the commit log of the generated patch by mentioning the commit log that makes threaded IRQs without a primary handler to be requested with the IRQF_ONESHOT flag. Signed-off-by: Fabio Estevam <[email protected]> Acked- by: Valentin Rothberg <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-21coccinelle: api: add vma_pages.cocciDmitry Kalinkin1-0/+60
This semantic patch replaces explicit computations of vma page count with explicit function call. Signed-off-by: Dmitry Kalinkin <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-21scripts/coccinelle/misc/irqf_oneshot.cocci: Fix grammarFabio Estevam1-1/+1
Correct form is 'always requested'. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-21scripts/coccinelle/misc/semicolon.cocci: Use imperative moodFabio Estevam1-1/+1
According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour. So do as recommended. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-20coccinelle: simple_open: Use imperative moodFabio Estevam1-2/+2
According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour." So do as recommended. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-20coccinelle: ifaddr: Fix the sentenceFabio Estevam1-2/+1
Make the sentence sensible. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-20coccinelle: returnvar: Use imperative moodFabio Estevam1-1/+1
According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour." So do as recommended. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-05-20coccinelle: pm_runtime: Insert blank lineFabio Estevam1-1/+1
Insert a blank line in order to improve the readability of the generated patch and also make it consistent with the other .cocci files. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-04-15scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warningFabian Frederick1-1/+1
if()/BUG conversion to BUG_ON must be avoided when there's side effect in condition. The reason being BUG_ON won't execute the condition when CONFIG_BUG is not defined. Inspired-by: J. Bruce Fields <[email protected]> Suggested-by: Julia Lawall <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2015-03-25irqf_oneshot.cocci: add check of devm_request_threaded_irq()Valentin Rothberg1-0/+24
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. Until now, this coccinelle script only checked request_threaded_irq(). However, the counterpart devm function (see kernel/irq/devres.c) is also affected by the missing flag which can be detected with this patch. Signed-off-by: Valentin Rothberg <[email protected]> Signed-off-by: Peter Senna Tschudin <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2014-12-20Merge branch 'misc' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild changes from Michal Marek: "There are only a few things in the misc branch: - Fix for bugon.cocci semantic patch - Kdevelop4 files are .gitignored - Put make binrpm-pkg on diet" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: scripts/package: binrpm-pkg do not create source and devel package .gitignore: Add Kdevelop4 project files bugon.cocci: fix Options at the macro
2014-11-24bugon.cocci: fix Options at the macroMauro Carvalho Chehab1-1/+1
The comma after --no-includes makes coccinelle to not run the script: /usr/bin/spatch -D report --very-quiet --no-show-diff --cocci-file ./scripts/coccinelle/misc/bugon.cocci --no-includes, --include-headers --patch . --dir drivers/media/platform/coda/ -I ./arch/x86/include -I arch/x86/include/generated -I include -I ./arch/x86/include/uapi -I arch/x86/include/generated/uapi -I ./include/uapi -I include/generated/uapi -I ./include/linux/kconfig.h Usage: spatch.opt --sp-file <SP> <infile> [-o <outfile>] [--iso-file <iso>] [options] Options are: --sp-file <file> the semantic patch file -o <file> the output file --in-place do the modification on the file directly --backup-suffix suffix to use when making a backup for inplace ... At least with Fedora 20 coccinelle package: coccinelle-1.0.0-0.rc20.1.fc21.x86_64 Signed-off-by: Mauro Carvalho Chehab <[email protected]> Acked-by: Julia Lawall <[email protected]> Tested-by: Wolfram Sang <[email protected]> Fixes: 5be1df66 (Coccinelle: Script to replace if and BUG with BUG_ON) Cc: [email protected] Signed-off-by: Michal Marek <[email protected]>
2014-11-06coccinelle: api: add spatch to prevent unnecessary .ownerWolfram Sang1-0/+106
There are calls which silently set the owner of a module. This is the preferred way [1], so avoid setting it manually. Currently, we only care about platform drivers, but there might be more calls to be added later. [1] https://lkml.org/lkml/2014/10/12/87 Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-26coccinelle: misc: semantic patch to delete overly complex return code processingJulia Lawall1-0/+180
This semantic patch simplifies cases where the effect of the processing of a function call's return code is just to return the result of the function directly. It may also delete a local return flag variable, if this is no longer used. This was proposed by Uwe Kleine-König. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2014-08-14Merge branch 'misc' of ↵Linus Torvalds5-27/+258
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: "This is the non-critical part of kbuild for 3.17-rc1: - make help hint to use make -s with make kernelrelease et al. - moved a kbuild document to Documentation/kbuild where it belongs - four new Coccinelle scripts, one dropped and one fixed - new make kselftest target to run various tests on the kernel" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kbuild: kselftest - new make target to build and run kernel selftests Coccinelle: Script to replace if and BUG with BUG_ON Coccinelle: Script to detect incorrect argument to sizeof Coccinelle: Script to use ARRAY_SIZE instead of division of two sizeofs Coccinelle: Script to detect cast after memory allocation coccinelle/null: solve parse error Documentation: headers_install.txt is part of kbuild kbuild: make -s should be used with kernelrelease/kernelversion/image_name
2014-08-08scripts/coccinelle/free/ifnullfree.cocci: add copyright informationFabian Frederick1-2/+3
All coccinelle scripts have a copyright in the header. Signed-off-by: Fabian Frederick <[email protected]> Suggested-by: Julia Lawall <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-08-08scripts/coccinelle/free: add NULL test before freeing functionsFabian Frederick1-0/+52
Warns or generates patch for NULL check before the following functions: kfree usb_free_urb debugfs_remove debugfs_remove_recursive Signed-off-by: Fabian Frederick <[email protected]> Acked-by: Julia Lawall <[email protected]> Cc: Gilles Muller <[email protected]> Cc: Joe Perches <[email protected]> Cc: Markus Elfring <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-08-06Coccinelle: Script to replace if and BUG with BUG_ONHimangi Saraogi1-0/+62
This script detects cases where BUG() follows an if condition on an expression and replaces the if condition and BUG() with a BUG_ON having the conditional expression of the if statement as argument. Signed-off-by: Himangi Saraogi <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>