19 May, 2016

2 commits

  • Pull rpmsg updates from Bjorn Andersson:
    "Refactor rpmsg module registration to follow other subsystems; by
    introduction of module_rpmsg_driver and hiding of THIS_MODULE from
    clients"

    * tag 'rpmsg-v4.7' of git://github.com/andersson/remoteproc:
    rpmsg: use module_rpmsg_driver in existing drivers and examples
    rpmsg: add helper macro module_rpmsg_driver
    rpmsg: drop owner assignment from rpmsg_drivers
    rpmsg: add THIS_MODULE to rpmsg_driver in rpmsg core

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    - added support for Intersil/Techwell TW686x-based video capture cards
    - v4l PCI skeleton driver moved to samples directory
    - Documentation cleanups and improvements
    - RC: reduced the memory footprint for IR raw events
    - tpg: Export the tpg code from vivid as a module
    - adv7180: Add device tree binding documentation
    - lots of driver improvements and fixes

    * tag 'media/v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (173 commits)
    [media] exynos-gsc: avoid build warning without CONFIG_OF
    [media] samples: v4l: from Documentation to samples directory
    [media] dib0700: add USB ID for another STK8096-PVR ref design based card
    [media] tvp5150: propagate I2C write error in .s_register callback
    [media] tvp5150: return I2C write operation failure to callers
    [media] em28xx: add support for Hauppauge WinTV-dualHD DVB tuner
    [media] em28xx: add missing USB IDs
    [media] update cx23885 and em28xx cardlists
    [media] media: au0828 fix au0828_v4l2_device_register() to not unlock and free
    [media] c8sectpfe: Rework firmware loading mechanism
    [media] c8sectpfe: Demote print to dev_dbg
    [media] c8sectpfe: Fix broken circular buffer wp management
    [media] media-device: Simplify compat32 logic
    [media] media: i2c: ths7303: remove redundant assignment on bt
    [media] dvb-usb: hide unused functions
    [media] xilinx-vipp: remove unnecessary of_node_put
    [media] drivers/media/media-devnode: clear private_data before put_device()
    [media] drivers/media/media-device: move debug log before _devnode_unregister()
    [media] drivers/media/rc: postpone kfree(rc_dev)
    [media] media/dvb-core: forward media_create_pad_links() return value
    ...

    Linus Torvalds
     

18 May, 2016

1 commit

  • Pull livepatching updates from Jiri Kosina:

    - remove of our own implementation of architecture-specific relocation
    code and leveraging existing code in the module loader to perform
    arch-dependent work, from Jessica Yu.

    The relevant patches have been acked by Rusty (for module.c) and
    Heiko (for s390).

    - live patching support for ppc64le, which is a joint work of Michael
    Ellerman and Torsten Duwe. This is coming from topic branch that is
    share between livepatching.git and ppc tree.

    - addition of livepatching documentation from Petr Mladek

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
    livepatch: make object/func-walking helpers more robust
    livepatch: Add some basic livepatch documentation
    powerpc/livepatch: Add live patching support on ppc64le
    powerpc/livepatch: Add livepatch stack to struct thread_info
    powerpc/livepatch: Add livepatch header
    livepatch: Allow architectures to specify an alternate ftrace location
    ftrace: Make ftrace_location_range() global
    livepatch: robustify klp_register_patch() API error checking
    Documentation: livepatch: outline Elf format and requirements for patch modules
    livepatch: reuse module loader code to write relocations
    module: s390: keep mod_arch_specific for livepatch modules
    module: preserve Elf information for livepatch modules
    Elf: add livepatch-specific Elf constants

    Linus Torvalds
     

10 May, 2016

1 commit

  • With the new autoksyms support, we can run into a situation where
    the v4l pci skeleton module is the only one using some exported
    symbols that get dropped because they are never referenced by
    the kernel otherwise, causing a build problem:

    ERROR: "vb2_dma_contig_memops" [Documentation/video4linux/v4l2-pci-skeleton.ko] undefined!
    ERROR: "vb2_dma_contig_init_ctx_attrs" [Documentation/video4linux/v4l2-pci-skeleton.ko] undefined!
    ERROR: "v4l2_match_dv_timings" [Documentation/video4linux/v4l2-pci-skeleton.ko] undefined!
    ERROR: "v4l2_find_dv_timings_cap" [Documentation/video4linux/v4l2-pci-skeleton.ko] undefined!
    ERROR: "v4l2_valid_dv_timings" [Documentation/video4linux/v4l2-pci-skeleton.ko] undefined!
    ERROR: "v4l2_enum_dv_timings_cap" [Documentation/video4linux/v4l2-pci-skeleton.ko] undefined!
    ERROR: "vb2_dma_contig_cleanup_ctx" [Documentation/video4linux/v4l2-pci-skeleton.ko] undefined!

    Specifically, we do look in the samples directory for users of
    symbols, but not the Documentation directory.

    This solves the build problem by moving the connector sample into
    the same directory as the other samples.

    Fixes: 23121ca2b56b ("kbuild: create/adjust generated/autoksyms.h")

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

07 May, 2016

4 commits

  • add few tests for "pointer to packet" logic of the verifier

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     
  • parse_simple.c - packet parser exapmle with single length check that
    filters out udp packets for port 9

    parse_varlen.c - variable length parser that understand multiple vlan headers,
    ipip, ipip6 and ip options to filter out udp or tcp packets on port 9.
    The packet is parsed layer by layer with multitple length checks.

    parse_ldabs.c - classic style of packet parsing using LD_ABS instruction.
    Same functionality as parse_simple.

    simple = 24.1Mpps per core
    varlen = 22.7Mpps
    ldabs = 21.4Mpps

    Parser with LD_ABS instructions is slower than full direct access parser
    which does more packet accesses and checks.

    These examples demonstrate the choice bpf program authors can make between
    flexibility of the parser vs speed.

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     
  • Existing drivers and examples are updated to use the
    module_rpmsg_driver helper macro.

    Signed-off-by: Andrew F. Davis
    Signed-off-by: Bjorn Andersson

    Andrew F. Davis
     
  • An rpmsg_driver does not need to set an owner, it will be populated by
    the driver core.

    Signed-off-by: Andrew F. Davis
    Signed-off-by: Bjorn Andersson

    Andrew F. Davis
     

04 May, 2016

1 commit


30 Apr, 2016

5 commits

  • Users are likely to manually compile both LLVM 'llc' and 'clang'
    tools. Thus, also allow redefining CLANG and verify command exist.

    Makefile implementation wise, the target that verify the command have
    been generalized.

    Signed-off-by: Jesper Dangaard Brouer
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • It is not intuitive that 'make' must be run from the top level
    directory with argument "samples/bpf/" to compile these eBPF samples.

    Introduce a kbuild make file trick that allow make to be run from the
    "samples/bpf/" directory itself. It basically change to the top level
    directory and call "make samples/bpf/" with the "/" slash after the
    directory name.

    Also add a clean target that only cleans this directory, by taking
    advantage of the kbuild external module setting M=$PWD.

    Signed-off-by: Jesper Dangaard Brouer
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • Getting started with using examples in samples/bpf/ is not
    straightforward. There are several dependencies, and specific
    versions of these dependencies.

    Just compiling the example tool is also slightly obscure, e.g. one
    need to call make like:

    make samples/bpf/

    Do notice the "/" slash after the directory name.

    Signed-off-by: Jesper Dangaard Brouer
    Acked-by: Naveen N. Rao
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • Make compiling samples/bpf more user friendly, by detecting if LLVM
    compiler tool 'llc' is available, and also detect if the 'bpf' target
    is available in this version of LLVM.

    Signed-off-by: Jesper Dangaard Brouer
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • It is practical to be-able-to redefine the location of the LLVM
    command 'llc', because not all distros have a LLVM version with bpf
    target support. Thus, it is sometimes required to compile LLVM from
    source, and sometimes it is not desired to overwrite the distros
    default LLVM version.

    This feature was removed with 128d1514be35 ("samples/bpf: Use llc in
    PATH, rather than a hardcoded value").

    Add this features back. Note that it is possible to redefine the LLC
    on the make command like:

    make samples/bpf/ LLC=~/git/llvm/build/bin/llc

    Fixes: 128d1514be35 ("samples/bpf: Use llc in PATH, rather than a hardcoded value")
    Signed-off-by: Jesper Dangaard Brouer
    Acked-by: Alexei Starovoitov
    Acked-by: Naveen N. Rao
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     

29 Apr, 2016

1 commit

  • llvm cannot always recognize memset as builtin function and optimize
    it away, so just delete it. It was a leftover from testing
    of bpf_perf_event_output() with large data structures.

    Fixes: 39111695b1b8 ("samples: bpf: add bpf_perf_event_output example")
    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     

15 Apr, 2016

2 commits

  • This adds test cases mostly around ARG_PTR_TO_RAW_STACK to check the
    verifier behaviour.

    [...]
    #84 raw_stack: no skb_load_bytes OK
    #85 raw_stack: skb_load_bytes, no init OK
    #86 raw_stack: skb_load_bytes, init OK
    #87 raw_stack: skb_load_bytes, spilled regs around bounds OK
    #88 raw_stack: skb_load_bytes, spilled regs corruption OK
    #89 raw_stack: skb_load_bytes, spilled regs corruption 2 OK
    #90 raw_stack: skb_load_bytes, spilled regs + data OK
    #91 raw_stack: skb_load_bytes, invalid access 1 OK
    #92 raw_stack: skb_load_bytes, invalid access 2 OK
    #93 raw_stack: skb_load_bytes, invalid access 3 OK
    #94 raw_stack: skb_load_bytes, invalid access 4 OK
    #95 raw_stack: skb_load_bytes, invalid access 5 OK
    #96 raw_stack: skb_load_bytes, invalid access 6 OK
    #97 raw_stack: skb_load_bytes, large access OK
    Summary: 98 PASSED, 0 FAILED

    Signed-off-by: Daniel Borkmann
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Daniel Borkmann
     
  • Remove the zero initialization in the sample programs where appropriate.
    Note that this is an optimization which is now possible, old programs
    still doing the zero initialization are just fine as well. Also, make
    sure we don't have padding issues when we don't memset() the entire
    struct anymore.

    Signed-off-by: Daniel Borkmann
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

10 Apr, 2016

1 commit


08 Apr, 2016

3 commits

  • the first microbenchmark does
    fd=open("/proc/self/comm");
    for() {
    write(fd, "test");
    }
    and on 4 cpus in parallel:
    writes per sec
    base (no tracepoints, no kprobes) 930k
    with kprobe at __set_task_comm() 420k
    with tracepoint at task:task_rename 730k

    For kprobe + full bpf program manully fetches oldcomm, newcomm via bpf_probe_read.
    For tracepint bpf program does nothing, since arguments are copied by tracepoint.

    2nd microbenchmark does:
    fd=open("/dev/urandom");
    for() {
    read(fd, buf);
    }
    and on 4 cpus in parallel:
    reads per sec
    base (no tracepoints, no kprobes) 300k
    with kprobe at urandom_read() 279k
    with tracepoint at random:urandom_read 290k

    bpf progs attached to kprobe and tracepoint are noop.

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     
  • modify offwaketime to work with sched/sched_switch tracepoint
    instead of kprobe into finish_task_switch

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     
  • Recognize "tracepoint/" section name prefix and attach the program
    to that tracepoint.

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     

07 Apr, 2016

3 commits

  • Add the necessary definitions for building bpf samples on ppc.

    Since ppc doesn't store function return address on the stack, modify how
    PT_REGS_RET() and PT_REGS_FP() work.

    Also, introduce PT_REGS_IP() to access the instruction pointer.

    Cc: Alexei Starovoitov
    Cc: Daniel Borkmann
    Cc: David S. Miller
    Cc: Ananth N Mavinakayanahalli
    Cc: Michael Ellerman
    Signed-off-by: Naveen N. Rao
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Naveen N. Rao
     
  • While at it, remove the generation of .s files and fix some typos in the
    related comment.

    Cc: Alexei Starovoitov
    Cc: David S. Miller
    Cc: Daniel Borkmann
    Cc: Ananth N Mavinakayanahalli
    Cc: Michael Ellerman
    Signed-off-by: Naveen N. Rao
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Naveen N. Rao
     
  • Building BPF samples is failing with the below error:

    samples/bpf/map_perf_test_user.c: In function ‘main’:
    samples/bpf/map_perf_test_user.c:134:9: error: variable ‘r’ has
    initializer but incomplete type
    struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
    ^
    samples/bpf/map_perf_test_user.c:134:21: error: ‘RLIM_INFINITY’
    undeclared (first use in this function)
    struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
    ^
    samples/bpf/map_perf_test_user.c:134:21: note: each undeclared
    identifier is reported only once for each function it appears in
    samples/bpf/map_perf_test_user.c:134:9: warning: excess elements in
    struct initializer [enabled by default]
    struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
    ^
    samples/bpf/map_perf_test_user.c:134:9: warning: (near initialization
    for ‘r’) [enabled by default]
    samples/bpf/map_perf_test_user.c:134:9: warning: excess elements in
    struct initializer [enabled by default]
    samples/bpf/map_perf_test_user.c:134:9: warning: (near initialization
    for ‘r’) [enabled by default]
    samples/bpf/map_perf_test_user.c:134:16: error: storage size of ‘r’
    isn’t known
    struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
    ^
    samples/bpf/map_perf_test_user.c:139:2: warning: implicit declaration of
    function ‘setrlimit’ [-Wimplicit-function-declaration]
    setrlimit(RLIMIT_MEMLOCK, &r);
    ^
    samples/bpf/map_perf_test_user.c:139:12: error: ‘RLIMIT_MEMLOCK’
    undeclared (first use in this function)
    setrlimit(RLIMIT_MEMLOCK, &r);
    ^
    samples/bpf/map_perf_test_user.c:134:16: warning: unused variable ‘r’
    [-Wunused-variable]
    struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
    ^
    make[2]: *** [samples/bpf/map_perf_test_user.o] Error 1

    Fix this by including the necessary header file.

    Cc: Alexei Starovoitov
    Cc: Daniel Borkmann
    Cc: David S. Miller
    Cc: Ananth N Mavinakayanahalli
    Cc: Michael Ellerman
    Acked-by: Alexei Starovoitov
    Signed-off-by: Naveen N. Rao
    Signed-off-by: David S. Miller

    Naveen N. Rao
     

01 Apr, 2016

1 commit

  • Reuse module loader code to write relocations, thereby eliminating the need
    for architecture specific relocation code in livepatch. Specifically, reuse
    the apply_relocate_add() function in the module loader to write relocations
    instead of duplicating functionality in livepatch's arch-dependent
    klp_write_module_reloc() function.

    In order to accomplish this, livepatch modules manage their own relocation
    sections (marked with the SHF_RELA_LIVEPATCH section flag) and
    livepatch-specific symbols (marked with SHN_LIVEPATCH symbol section
    index). To apply livepatch relocation sections, livepatch symbols
    referenced by relocs are resolved and then apply_relocate_add() is called
    to apply those relocations.

    In addition, remove x86 livepatch relocation code and the s390
    klp_write_module_reloc() function stub. They are no longer needed since
    relocation work has been offloaded to module loader.

    Lastly, mark the module as a livepatch module so that the module loader
    canappropriately identify and initialize it.

    Signed-off-by: Jessica Yu
    Reviewed-by: Miroslav Benes
    Acked-by: Josh Poimboeuf
    Acked-by: Heiko Carstens # for s390 changes
    Signed-off-by: Jiri Kosina

    Jessica Yu
     

09 Mar, 2016

7 commits


20 Feb, 2016

1 commit

  • This is simplified version of Brendan Gregg's offwaketime:
    This program shows kernel stack traces and task names that were blocked and
    "off-CPU", along with the stack traces and task names for the threads that woke
    them, and the total elapsed time from when they blocked to when they were woken
    up. The combined stacks, task names, and total time is summarized in kernel
    context for efficiency.

    Example:
    $ sudo ./offwaketime | flamegraph.pl > demo.svg
    Open demo.svg in the browser as FlameGraph visualization.

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     

06 Feb, 2016

3 commits


18 Nov, 2015

1 commit

  • Pull networking fixes from David Miller:

    1) Fix list tests in netfilter ingress support, from Florian Westphal.

    2) Fix reversal of input and output interfaces in ingress hook
    invocation, from Pablo Neira Ayuso.

    3) We have a use after free in r8169, caught by Dave Jones, fixed by
    Francois Romieu.

    4) Splice use-after-free fix in AF_UNIX frmo Hannes Frederic Sowa.

    5) Three ipv6 route handling bug fixes from Martin KaFai Lau:
    a) Don't create clone routes not managed by the fib6 tree
    b) Don't forget to check expiration of DST_NOCACHE routes.
    c) Handle rt->dst.from == NULL properly.

    6) Several AF_PACKET fixes wrt transport header setting and SKB
    protocol setting, from Daniel Borkmann.

    7) Fix thunder driver crash on shutdown, from Pavel Fedin.

    8) Several Mellanox driver fixes (max MTU calculations, use of correct
    DMA unmap in TX path, etc.) from Saeed Mahameed, Tariq Toukan, Doron
    Tsur, Achiad Shochat, Eran Ben Elisha, and Noa Osherovich.

    9) Several mv88e6060 DSA driver fixes (wrong bit definitions for
    certain registers, etc.) from Neil Armstrong.

    10) Make sure to disable preemption while updating per-cpu stats of ip
    tunnels, from Jason A. Donenfeld.

    11) Various ARM64 bpf JIT fixes, from Yang Shi.

    12) Flush icache properly in ARM JITs, from Daniel Borkmann.

    13) Fix masking of RX and TX interrupts in ravb driver, from Masaru
    Nagai.

    14) Fix netdev feature propagation for devices not implementing
    ->ndo_set_features(). From Nikolay Aleksandrov.

    15) Big endian fix in vmxnet3 driver, from Shrikrishna Khare.

    16) RAW socket code increments incorrect SNMP counters, fix from Ben
    Cartwright-Cox.

    17) IPv6 multicast SNMP counters are bumped twice, fix from Neil Horman.

    18) Fix handling of VLAN headers on stacked devices when REORDER is
    disabled. From Vlad Yasevich.

    19) Fix SKB leaks and use-after-free in ipvlan and macvlan drivers, from
    Sabrina Dubroca.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (83 commits)
    MAINTAINERS: Update Mellanox's Eth NIC driver entries
    net/core: revert "net: fix __netdev_update_features return.." and add comment
    af_unix: take receive queue lock while appending new skb
    rtnetlink: fix frame size warning in rtnl_fill_ifinfo
    net: use skb_clone to avoid alloc_pages failure.
    packet: Use PAGE_ALIGNED macro
    packet: Don't check frames_per_block against negative values
    net: phy: Use interrupts when available in NOLINK state
    phy: marvell: Add support for 88E1540 PHY
    arm64: bpf: make BPF prologue and epilogue align with ARM64 AAPCS
    macvlan: fix leak in macvlan_handle_frame
    ipvlan: fix use after free of skb
    ipvlan: fix leak in ipvlan_rcv_frame
    vlan: Do not put vlan headers back on bridge and macvlan ports
    vlan: Fix untag operations of stacked vlans with REORDER_HEADER off
    via-velocity: unconditionally drop frames with bad l2 length
    ipg: Remove ipg driver
    dl2k: Add support for IP1000A-based cards
    snmp: Remove duplicate OUTMCAST stat increment
    net: thunder: Check for driver data in nicvf_remove()
    ...

    Linus Torvalds
     

17 Nov, 2015

1 commit

  • commit 338d4f49d6f7114a017d294ccf7374df4f998edc
    ("arm64: kernel: Add support for Privileged Access Never") includes sysreg.h
    into futex.h and uaccess.h. But, the inline assembly used by asm/sysreg.h is
    incompatible with llvm so it will cause BPF samples build failure for ARM64.
    Since sysreg.h is useless for BPF samples, just exclude it from Makefile via
    defining __ASM_SYSREG_H.

    Signed-off-by: Yang Shi
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Yang Shi
     

14 Nov, 2015

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "This series contains HCH's changes to absorb configfs attribute
    ->show() + ->store() function pointer usage from it's original
    tree-wide consumers, into common configfs code.

    It includes usb-gadget, target w/ drivers, netconsole and ocfs2
    changes to realize the improved simplicity, that now renders the
    original include/target/configfs_macros.h CPP magic for fabric drivers
    and others, unnecessary and obsolete.

    And with common code in place, new configfs attributes can be added
    easier than ever before.

    Note, there are further improvements in-flight from other folks for
    v4.5 code in configfs land, plus number of target fixes for post -rc1
    code"

    In the meantime, a new user of the now-removed old configfs API came in
    through the char/misc tree in commit 7bd1d4093c2f ("stm class: Introduce
    an abstraction for System Trace Module devices").

    This merge resolution comes from Alexander Shishkin, who updated his stm
    class tracing abstraction to account for the removal of the old
    show_attribute and store_attribute methods in commit 517982229f78
    ("configfs: remove old API") from this pull. As Alexander says about
    that patch:

    "There's no need to keep an extra wrapper structure per item and the
    awkward show_attribute/store_attribute item ops are no longer needed.

    This patch converts policy code to the new api, all the while making
    the code quite a bit smaller and easier on the eyes.

    Signed-off-by: Alexander Shishkin "

    That patch was folded into the merge so that the tree should be fully
    bisectable.

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (23 commits)
    configfs: remove old API
    ocfs2/cluster: use per-attribute show and store methods
    ocfs2/cluster: move locking into attribute store methods
    netconsole: use per-attribute show and store methods
    target: use per-attribute show and store methods
    spear13xx_pcie_gadget: use per-attribute show and store methods
    dlm: use per-attribute show and store methods
    usb-gadget/f_serial: use per-attribute show and store methods
    usb-gadget/f_phonet: use per-attribute show and store methods
    usb-gadget/f_obex: use per-attribute show and store methods
    usb-gadget/f_uac2: use per-attribute show and store methods
    usb-gadget/f_uac1: use per-attribute show and store methods
    usb-gadget/f_mass_storage: use per-attribute show and store methods
    usb-gadget/f_sourcesink: use per-attribute show and store methods
    usb-gadget/f_printer: use per-attribute show and store methods
    usb-gadget/f_midi: use per-attribute show and store methods
    usb-gadget/f_loopback: use per-attribute show and store methods
    usb-gadget/ether: use per-attribute show and store methods
    usb-gadget/f_acm: use per-attribute show and store methods
    usb-gadget/f_hid: use per-attribute show and store methods
    ...

    Linus Torvalds
     

07 Nov, 2015

1 commit

  • Pull tracking updates from Steven Rostedt:
    "Most of the changes are clean ups and small fixes. Some of them have
    stable tags to them. I searched through my INBOX just as the merge
    window opened and found lots of patches to pull. I ran them through
    all my tests and they were in linux-next for a few days.

    Features added this release:
    ----------------------------

    - Module globbing. You can now filter function tracing to several
    modules. # echo '*:mod:*snd*' > set_ftrace_filter (Dmitry Safonov)

    - Tracer specific options are now visible even when the tracer is not
    active. It was rather annoying that you can only see and modify
    tracer options after enabling the tracer. Now they are in the
    options/ directory even when the tracer is not active. Although
    they are still only visible when the tracer is active in the
    trace_options file.

    - Trace options are now per instance (although some of the tracer
    specific options are global)

    - New tracefs file: set_event_pid. If any pid is added to this file,
    then all events in the instance will filter out events that are not
    part of this pid. sched_switch and sched_wakeup events handle next
    and the wakee pids"

    * tag 'trace-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (68 commits)
    tracefs: Fix refcount imbalance in start_creating()
    tracing: Put back comma for empty fields in boot string parsing
    tracing: Apply tracer specific options from kernel command line.
    tracing: Add some documentation about set_event_pid
    ring_buffer: Remove unneeded smp_wmb() before wakeup of reader benchmark
    tracing: Allow dumping traces without tracking trace started cpus
    ring_buffer: Fix more races when terminating the producer in the benchmark
    ring_buffer: Do no not complete benchmark reader too early
    tracing: Remove redundant TP_ARGS redefining
    tracing: Rename max_stack_lock to stack_trace_max_lock
    tracing: Allow arch-specific stack tracer
    recordmcount: arm64: Replace the ignored mcount call into nop
    recordmcount: Fix endianness handling bug for nop_mcount
    tracepoints: Fix documentation of RCU lockdep checks
    tracing: ftrace_event_is_function() can return boolean
    tracing: is_legal_op() can return boolean
    ring-buffer: rb_event_is_commit() can return boolean
    ring-buffer: rb_per_cpu_empty() can return boolean
    ring_buffer: ring_buffer_empty{cpu}() can return boolean
    ring-buffer: rb_is_reader_page() can return boolean
    ...

    Linus Torvalds