11 Oct, 2016

1 commit


02 Oct, 2016

2 commits

  • 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
    Signed-off-by: Michal Marek

    Julia Lawall
     
  • 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
    Signed-off-by: Michal Marek

    Julia Lawall
     

22 Jul, 2016

1 commit


21 Jun, 2016

3 commits

  • 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
    Cc: Pekka Enberg
    Acked-by: Julia Lawall
    Signed-off-by: Yann Droneaud
    Signed-off-by: Michal Marek

    Yann Droneaud
     
  • 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
    Cc: Manish Badarkhe
    Cc: Srinivas Pandruvada
    Cc: Eli Billauer
    Cc: Himangi Saraogi
    Cc: Geert Uytterhoeven
    Cc: Wolfram Sang
    Cc: Daniel Thompson
    Acked-by: Julia Lawall
    Signed-off-by: Yann Droneaud
    Signed-off-by: Michal Marek

    Yann Droneaud
     
  • 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
    Acked-by: Julia Lawall
    Signed-off-by: Yann Droneaud
    Signed-off-by: Michal Marek

    Yann Droneaud
     

20 Jun, 2016

1 commit


27 May, 2016

1 commit

  • 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

    Linus Torvalds
     

20 Apr, 2016

2 commits


13 Apr, 2016

1 commit

  • 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
    Acked-by: Julia Lawall
    Signed-off-by: Greg Kroah-Hartman

    Nicolai Stange
     

19 Feb, 2016

5 commits


18 Feb, 2016

1 commit


13 Jan, 2016

1 commit

  • 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
    Acked-by: Julia Lawall
    Signed-off-by: Michal Marek

    Andrzej Hajda
     

27 Oct, 2015

8 commits


09 Sep, 2015

2 commits

  • 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 : (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()
    ...

    Linus Torvalds
     
  • 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
    Acked-by: Julia Lawall
    Cc: Vinod Koul
    Cc: Bjorn Helgaas
    Cc: Gilles Muller
    Cc: Nicolas Palix
    Cc: Michal Marek
    Cc: Sebastian Andrzej Siewior
    Cc: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sean O. Stalley
     

19 Aug, 2015

1 commit


03 Jun, 2015

1 commit


25 May, 2015

1 commit


21 May, 2015

3 commits


20 May, 2015

4 commits

  • 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
    Acked-by: Julia Lawall
    Signed-off-by: Michal Marek

    Fabio Estevam
     
  • Make the sentence sensible.

    Signed-off-by: Fabio Estevam
    Acked-by: Julia Lawall
    Signed-off-by: Michal Marek

    Fabio Estevam
     
  • 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
    Acked-by: Julia Lawall
    Signed-off-by: Michal Marek

    Fabio Estevam
     
  • 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
    Acked-by: Julia Lawall
    Signed-off-by: Michal Marek

    Fabio Estevam
     

15 Apr, 2015

1 commit