1. 04 May, 2017 6 commits
    • Steven Rostedt (VMware)'s avatar
      ftrace: Simplify ftrace_match_record() even more · 77c0edde
      Steven Rostedt (VMware) authored
      Dan Carpenter sent a patch to remove a check in ftrace_match_record()
      because the logic of the code made the check redundant. I looked deeper into
      the code, and made the following logic table, with the three variables and
      the result of the original code.
      
      modname        mod_matches     exclude_mod         result
      -------        -----------     -----------         ------
        0                 0               0              return 0
        0                 0               1              func_match
        0                 1               *             < cannot exist >
        1                 0               0              return 0
        1                 0               1              func_match
        1                 1               0              func_match
        1                 1               1              return 0
      
      Notice that when mod_matches == exclude mod, the result is always to
      return 0, and when mod_matches != exclude_mod, then the result is to test
      the function. This means we only need test if mod_matches is equal to
      exclude_mod.
      
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      77c0edde
    • Dan Carpenter's avatar
      ftrace: Remove an unneeded condition · 31805c90
      Dan Carpenter authored
      We know that "mod_matches" is true here so there is no need to check
      again.
      
      Link: http://lkml.kernel.org/r/20170331152130.GA4947@mwandaSigned-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      31805c90
    • Amey Telawane's avatar
      tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() · e09e2867
      Amey Telawane authored
      Strcpy is inherently not safe, and strlcpy() should be used instead.
      __trace_find_cmdline() uses strcpy() because the comms saved must have a
      terminating nul character, but it doesn't hurt to add the extra protection
      of using strlcpy() instead of strcpy().
      
      Link: http://lkml.kernel.org/r/1493806274-13936-1-git-send-email-amit.pundir@linaro.orgSigned-off-by: default avatarAmey Telawane <ameyt@codeaurora.org>
      [AmitP: Cherry-picked this commit from CodeAurora kernel/msm-3.10
      https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=2161ae9a70b12cf18ac8e5952a20161ffbccb477]
      Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
      [ Updated change log and removed the "- 1" from len parameter ]
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      e09e2867
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 4c174688
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "New features for this release:
      
         - Pretty much a full rewrite of the processing of function plugins.
           i.e. echo do_IRQ:stacktrace > set_ftrace_filter
      
         - The rewrite was needed to add plugins to be unique to tracing
           instances. i.e. mkdir instance/foo; cd instances/foo; echo
           do_IRQ:stacktrace > set_ftrace_filter The old way was written very
           hacky. This removes a lot of those hacks.
      
         - New "function-fork" tracing option. When set, pids in the
           set_ftrace_pid will have their children added when the processes
           with their pids listed in the set_ftrace_pid file forks.
      
         - Exposure of "maxactive" for kretprobe in kprobe_events
      
         - Allow for builtin init functions to be traced by the function
           tracer (via the kernel command line). Module init function tracing
           will come in the next release.
      
         - Added more selftests, and have selftests also test in an instance"
      
      * tag 'trace-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (60 commits)
        ring-buffer: Return reader page back into existing ring buffer
        selftests: ftrace: Allow some event trigger tests to run in an instance
        selftests: ftrace: Have some basic tests run in a tracing instance too
        selftests: ftrace: Have event tests also run in an tracing instance
        selftests: ftrace: Make func_event_triggers and func_traceonoff_triggers tests do instances
        selftests: ftrace: Allow some tests to be run in a tracing instance
        tracing/ftrace: Allow for instances to trigger their own stacktrace probes
        tracing/ftrace: Allow for the traceonoff probe be unique to instances
        tracing/ftrace: Enable snapshot function trigger to work with instances
        tracing/ftrace: Allow instances to have their own function probes
        tracing/ftrace: Add a better way to pass data via the probe functions
        ftrace: Dynamically create the probe ftrace_ops for the trace_array
        tracing: Pass the trace_array into ftrace_probe_ops functions
        tracing: Have the trace_array hold the list of registered func probes
        ftrace: If the hash for a probe fails to update then free what was initialized
        ftrace: Have the function probes call their own function
        ftrace: Have each function probe use its own ftrace_ops
        ftrace: Have unregister_ftrace_function_probe_func() return a value
        ftrace: Add helper function ftrace_hash_move_and_update_ops()
        ftrace: Remove data field from ftrace_func_probe structure
        ...
      4c174688
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · 9c35baf6
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - There is a situation when early console is not deregistered because
         the preferred one matches a wrong entry. It caused messages to appear
         twice.
      
         This is the 2nd attempt to fix it. The first one was wrong, see the
         commit c6c7d83b ('Revert "console: don't prefer first registered
         if DT specifies stdout-path"').
      
         The fix is coupled with some small code clean up. Well, the console
         registration code would deserve a big one. We need to think about it.
      
       - Do not lose information about the preemtive context when the console
         semaphore is re-taken.
      
       - Do not block CPU hotplug when someone else is already pushing
         messages to the console.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        printk: fix double printing with earlycon
        printk: rename selected_console -> preferred_console
        printk: fix name/type/scope of preferred_console var
        printk: Correctly handle preemption in console_unlock()
        printk: use console_trylock() in console_cpu_notify()
      9c35baf6
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · dd23f273
      Linus Torvalds authored
      Merge misc updates from Andrew Morton:
      
       - a few misc things
      
       - most of MM
      
       - KASAN updates
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (102 commits)
        kasan: separate report parts by empty lines
        kasan: improve double-free report format
        kasan: print page description after stacks
        kasan: improve slab object description
        kasan: change report header
        kasan: simplify address description logic
        kasan: change allocation and freeing stack traces headers
        kasan: unify report headers
        kasan: introduce helper functions for determining bug type
        mm: hwpoison: call shake_page() after try_to_unmap() for mlocked page
        mm: hwpoison: call shake_page() unconditionally
        mm/swapfile.c: fix swap space leak in error path of swap_free_entries()
        mm/gup.c: fix access_ok() argument type
        mm/truncate: avoid pointless cleancache_invalidate_inode() calls.
        mm/truncate: bail out early from invalidate_inode_pages2_range() if mapping is empty
        fs/block_dev: always invalidate cleancache in invalidate_bdev()
        fs: fix data invalidation in the cleancache during direct IO
        zram: reduce load operation in page_same_filled
        zram: use zram_free_page instead of open-coded
        zram: introduce zram data accessor
        ...
      dd23f273
  2. 03 May, 2017 34 commits