1. 13 11月, 2019 15 次提交
    • D
      tracing: Declare newly exported APIs in include/linux/trace.h · 2d6425af
      Divya Indi 提交于
      Declare the newly introduced and exported APIs in the header file -
      include/linux/trace.h. Moving previous declarations from
      kernel/trace/trace.h to include/linux/trace.h.
      
      Link: http://lkml.kernel.org/r/1565805327-579-2-git-send-email-divya.indi@oracle.comSigned-off-by: NDivya Indi <divya.indi@oracle.com>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      2d6425af
    • B
      tracing: Make internal ftrace events static · 6dff4d7d
      Ben Dooks 提交于
      The event_class_ftrace_##call and event_##call do not seem
      to be used outside of trace_export.c so make them both static
      to avoid a number of sparse warnings:
      
      kernel/trace/trace_entries.h:59:1: warning: symbol 'event_class_ftrace_function' was not declared. Should it be static?
      kernel/trace/trace_entries.h:59:1: warning: symbol '__event_function' was not declared. Should it be static?
      kernel/trace/trace_entries.h:77:1: warning: symbol 'event_class_ftrace_funcgraph_entry' was not declared. Should it be static?
      kernel/trace/trace_entries.h:77:1: warning: symbol '__event_funcgraph_entry' was not declared. Should it be static?
      kernel/trace/trace_entries.h:93:1: warning: symbol 'event_class_ftrace_funcgraph_exit' was not declared. Should it be static?
      kernel/trace/trace_entries.h:93:1: warning: symbol '__event_funcgraph_exit' was not declared. Should it be static?
      kernel/trace/trace_entries.h:129:1: warning: symbol 'event_class_ftrace_context_switch' was not declared. Should it be static?
      kernel/trace/trace_entries.h:129:1: warning: symbol '__event_context_switch' was not declared. Should it be static?
      kernel/trace/trace_entries.h:149:1: warning: symbol 'event_class_ftrace_wakeup' was not declared. Should it be static?
      kernel/trace/trace_entries.h:149:1: warning: symbol '__event_wakeup' was not declared. Should it be static?
      kernel/trace/trace_entries.h:171:1: warning: symbol 'event_class_ftrace_kernel_stack' was not declared. Should it be static?
      kernel/trace/trace_entries.h:171:1: warning: symbol '__event_kernel_stack' was not declared. Should it be static?
      kernel/trace/trace_entries.h:191:1: warning: symbol 'event_class_ftrace_user_stack' was not declared. Should it be static?
      kernel/trace/trace_entries.h:191:1: warning: symbol '__event_user_stack' was not declared. Should it be static?
      kernel/trace/trace_entries.h:214:1: warning: symbol 'event_class_ftrace_bprint' was not declared. Should it be static?
      kernel/trace/trace_entries.h:214:1: warning: symbol '__event_bprint' was not declared. Should it be static?
      kernel/trace/trace_entries.h:230:1: warning: symbol 'event_class_ftrace_print' was not declared. Should it be static?
      kernel/trace/trace_entries.h:230:1: warning: symbol '__event_print' was not declared. Should it be static?
      kernel/trace/trace_entries.h:247:1: warning: symbol 'event_class_ftrace_raw_data' was not declared. Should it be static?
      kernel/trace/trace_entries.h:247:1: warning: symbol '__event_raw_data' was not declared. Should it be static?
      kernel/trace/trace_entries.h:262:1: warning: symbol 'event_class_ftrace_bputs' was not declared. Should it be static?
      kernel/trace/trace_entries.h:262:1: warning: symbol '__event_bputs' was not declared. Should it be static?
      kernel/trace/trace_entries.h:277:1: warning: symbol 'event_class_ftrace_mmiotrace_rw' was not declared. Should it be static?
      kernel/trace/trace_entries.h:277:1: warning: symbol '__event_mmiotrace_rw' was not declared. Should it be static?
      kernel/trace/trace_entries.h:298:1: warning: symbol 'event_class_ftrace_mmiotrace_map' was not declared. Should it be static?
      kernel/trace/trace_entries.h:298:1: warning: symbol '__event_mmiotrace_map' was not declared. Should it be static?
      kernel/trace/trace_entries.h:322:1: warning: symbol 'event_class_ftrace_branch' was not declared. Should it be static?
      kernel/trace/trace_entries.h:322:1: warning: symbol '__event_branch' was not declared. Should it be static?
      kernel/trace/trace_entries.h:343:1: warning: symbol 'event_class_ftrace_hwlat' was not declared. Should it be static?
      kernel/trace/trace_entries.h:343:1: warning: symbol '__event_hwlat' was not declared. Should it be static?
      
      Link: http://lkml.kernel.org/r/20191015121012.18824-1-ben.dooks@codethink.co.ukSigned-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      6dff4d7d
    • S
      tracing: Use CONFIG_PREEMPTION · 9c34fc4b
      Sebastian Andrzej Siewior 提交于
      CONFIG_PREEMPTION is selected by CONFIG_PREEMPT and by CONFIG_PREEMPT_RT.
      Both PREEMPT and PREEMPT_RT require the same functionality which today
      depends on CONFIG_PREEMPT.
      
      Add additional header output for PREEMPT_RT.
      Link: http://lkml.kernel.org/r/20191015191821.11479-34-bigeasy@linutronix.de
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      9c34fc4b
    • V
      preemptirq_delay_test: Add the burst feature and a sysfs trigger · 79393723
      Viktor Rosendahl (BMW) 提交于
      This burst feature enables the user to generate a burst of
      preempt/irqsoff latencies. This makes it possible to test whether we
      are able to detect latencies that systematically occur very close to
      each other.
      
      The maximum burst size is 10. We also create 10 identical test
      functions, so that we get 10 different backtraces; this is useful
      when we want to test whether we can detect all the latencies in a
      burst. Otherwise, there would be no easy way of differentiating
      between which latency in a burst was captured by the tracer.
      
      In addition, there is a sysfs trigger, so that it's not necessary to
      reload the module to repeat the test. The trigger will appear as
      /sys/kernel/preemptirq_delay_test/trigger in sysfs.
      
      Link: http://lkml.kernel.org/r/20191008220824.7911-3-viktor.rosendahl@gmail.comReviewed-by: NJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: NViktor Rosendahl (BMW) <viktor.rosendahl@gmail.com>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      79393723
    • V
      ftrace: Implement fs notification for tracing_max_latency · 91edde2e
      Viktor Rosendahl (BMW) 提交于
      This patch implements the feature that the tracing_max_latency file,
      e.g. /sys/kernel/debug/tracing/tracing_max_latency will receive
      notifications through the fsnotify framework when a new latency is
      available.
      
      One particularly interesting use of this facility is when enabling
      threshold tracing, through /sys/kernel/debug/tracing/tracing_thresh,
      together with the preempt/irqsoff tracers. This makes it possible to
      implement a user space program that can, with equal probability,
      obtain traces of latencies that occur immediately after each other in
      spite of the fact that the preempt/irqsoff tracers operate in overwrite
      mode.
      
      This facility works with the hwlat, preempt/irqsoff, and wakeup
      tracers.
      
      The tracers may call the latency_fsnotify() from places such as
      __schedule() or do_idle(); this makes it impossible to call
      queue_work() directly without risking a deadlock. The same would
      happen with a softirq,  kernel thread or tasklet. For this reason we
      use the irq_work mechanism to call queue_work().
      
      This patch creates a new workqueue. The reason for doing this is that
      I wanted to use the WQ_UNBOUND and WQ_HIGHPRI flags.  My thinking was
      that WQ_UNBOUND might help with the latency in some important cases.
      
      If we use:
      
      queue_work(system_highpri_wq, &tr->fsnotify_work);
      
      then the work will (almost) always execute on the same CPU but if we are
      unlucky that CPU could be too busy while there could be another CPU in
      the system that would be able to process the work soon enough.
      
      queue_work_on() could be used to queue the work on another CPU but it
      seems difficult to select the right CPU.
      
      Link: http://lkml.kernel.org/r/20191008220824.7911-2-viktor.rosendahl@gmail.comReviewed-by: NJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: NViktor Rosendahl (BMW) <viktor.rosendahl@gmail.com>
      [ Added max() to have one compare for max latency ]
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      91edde2e
    • S
      ftrace: Add information on number of page groups allocated · da537f0a
      Steven Rostedt (VMware) 提交于
      Looking for ways to shrink the size of the dyn_ftrace structure, knowing the
      information about how many pages and the number of groups of those pages, is
      useful in working out the best ways to save on memory.
      
      This adds one info print on how many groups of pages were used to allocate
      the ftrace dyn_ftrace structures, and also shows the number of pages and
      groups in the dyn_ftrace_total_info (which is used for debugging).
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      da537f0a
    • J
      ftrace/x86: Tell objtool to ignore nondeterministic ftrace stack layout · 77ac117b
      Josh Poimboeuf 提交于
      Objtool complains about the new ftrace direct trampoline code:
      
        arch/x86/kernel/ftrace_64.o: warning: objtool: ftrace_regs_caller()+0x190: stack state mismatch: cfa1=7+16 cfa2=7+24
      
      Typically, code has a deterministic stack layout, such that at a given
      instruction address, the stack frame size is always the same.
      
      That's not the case for the new ftrace_regs_caller() code after it
      adjusts the stack for the direct case.  Just plead ignorance and assume
      it's always the non-direct path.  Note this creates a tiny window for
      ORC to get confused.
      
      Link: http://lkml.kernel.org/r/20191108225100.ea3bhsbdf6oerj6g@trebleReported-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      77ac117b
    • S
      ftrace/x86: Add a counter to test function_graph with direct · a3ad1a7e
      Steven Rostedt (VMware) 提交于
      As testing for direct calls from the function graph tracer adds a little
      overhead (which is a lot when tracing every function), add a counter that
      can be used to test if function_graph tracer needs to test for a direct
      caller or not.
      
      It would have been nicer if we could use a static branch, but the static
      branch logic fails when used within the function graph tracer trampoline.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      a3ad1a7e
    • S
      ftrace/x86: Add register_ftrace_direct() for custom trampolines · 562955fe
      Steven Rostedt (VMware) 提交于
      Enable x86 to allow for register_ftrace_direct(), where a custom trampoline
      may be called directly from an ftrace mcount/fentry location.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      562955fe
    • S
      ftrace/selftests: Update the direct call selftests to test two direct calls · ed9dafeb
      Steven Rostedt (VMware) 提交于
      The register_ftrace_direct() takes a different path if there's already a
      direct call registered, but this was not tested in the self tests. Now that
      there's a second direct caller test module, we can use this to test not only
      one direct caller, but two.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      ed9dafeb
    • S
      ftrace: Add another example of register_ftrace_direct() use case · 156473a0
      Steven Rostedt (VMware) 提交于
      Add another module sample that registers a direct trampoline to a function
      via register_ftrace_direct(). Having another module that does this allows to
      test the use case of multiple direct callers registered, as more than one
      direct caller goes into another path, and is needed to perform proper
      testing of the register_ftrace_direct() call.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      156473a0
    • S
      ftrace/selftest: Add tests to test register_ftrace_direct() · 646f01cc
      Steven Rostedt (VMware) 提交于
      Add two test cases that test the new ftrace direct functionality if the
      ftrace-direct sample module is available. One test case tests against each
      available tracer (function, function_graph, mmiotrace, etc), and the other
      test tests against a kprobe at the same location as the direct caller. Both
      tests follow the same pattern of testing combinations:
      
        enable test (either the tracer or the kprobe)
        load direct function module
        unload direct function module
        disable test
      
        enable test
        load direct function module
        disable test
        unload direct function module
      
        load direct function module
        enable test
        disable test
        unload direct function module
      
        load direct function module
        enable test
        unload direct function module
        disable test
      
      As most the bugs in development happened with various ways of enabling or
      disabling the direct calls with function tracer in one of these
      combinations.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      646f01cc
    • S
      ftrace: Add sample module that uses register_ftrace_direct() · b06457c8
      Steven Rostedt (VMware) 提交于
      Add a sample module that shows a simple use case for
      regsiter_ftrace_direct(), and how to use it.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      b06457c8
    • S
      ftrace: Add ftrace_find_direct_func() · 013bf0da
      Steven Rostedt (VMware) 提交于
      As function_graph tracer modifies the return address to insert a trampoline
      to trace the return of a function, it must be aware of a direct caller, as
      when it gets called, the function's return address may not be at on the
      stack where it expects. It may have to see if that return address points to
      the a direct caller and adjust if it is.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      013bf0da
    • S
      ftrace: Add register_ftrace_direct() · 763e34e7
      Steven Rostedt (VMware) 提交于
      Add the start of the functionality to allow other trampolines to use the
      ftrace mcount/fentry/nop location. This adds two new functions:
      
       register_ftrace_direct() and unregister_ftrace_direct()
      
      Both take two parameters: the first is the instruction address of where the
      mcount/fentry/nop exists, and the second is the trampoline to have that
      location called.
      
      This will handle cases where ftrace is already used on that same location,
      and will make it still work, where the registered direct called trampoline
      will get called after all the registered ftrace callers are handled.
      
      Currently, it will not allow for IP_MODIFY functions to be called at the
      same locations, which include some kprobes and live kernel patching.
      
      At this point, no architecture supports this. This is only the start of
      implementing the framework.
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      763e34e7
  2. 09 11月, 2019 2 次提交
  3. 04 11月, 2019 5 次提交
  4. 03 11月, 2019 6 次提交
  5. 02 11月, 2019 12 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 1204c70d
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix free/alloc races in batmanadv, from Sven Eckelmann.
      
       2) Several leaks and other fixes in kTLS support of mlx5 driver, from
          Tariq Toukan.
      
       3) BPF devmap_hash cost calculation can overflow on 32-bit, from Toke
          Høiland-Jørgensen.
      
       4) Add an r8152 device ID, from Kazutoshi Noguchi.
      
       5) Missing include in ipv6's addrconf.c, from Ben Dooks.
      
       6) Use siphash in flow dissector, from Eric Dumazet. Attackers can
          easily infer the 32-bit secret otherwise etc.
      
       7) Several netdevice nesting depth fixes from Taehee Yoo.
      
       8) Fix several KCSAN reported errors, from Eric Dumazet. For example,
          when doing lockless skb_queue_empty() checks, and accessing
          sk_napi_id/sk_incoming_cpu lockless as well.
      
       9) Fix jumbo packet handling in RXRPC, from David Howells.
      
      10) Bump SOMAXCONN and tcp_max_syn_backlog values, from Eric Dumazet.
      
      11) Fix DMA synchronization in gve driver, from Yangchun Fu.
      
      12) Several bpf offload fixes, from Jakub Kicinski.
      
      13) Fix sk_page_frag() recursion during memory reclaim, from Tejun Heo.
      
      14) Fix ping latency during high traffic rates in hisilicon driver, from
          Jiangfent Xiao.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (146 commits)
        net: fix installing orphaned programs
        net: cls_bpf: fix NULL deref on offload filter removal
        selftests: bpf: Skip write only files in debugfs
        selftests: net: reuseport_dualstack: fix uninitalized parameter
        r8169: fix wrong PHY ID issue with RTL8168dp
        net: dsa: bcm_sf2: Fix IMP setup for port different than 8
        net: phylink: Fix phylink_dbg() macro
        gve: Fixes DMA synchronization.
        inet: stop leaking jiffies on the wire
        ixgbe: Remove duplicate clear_bit() call
        Documentation: networking: device drivers: Remove stray asterisks
        e1000: fix memory leaks
        i40e: Fix receive buffer starvation for AF_XDP
        igb: Fix constant media auto sense switching when no cable is connected
        net: ethernet: arc: add the missed clk_disable_unprepare
        igb: Enable media autosense for the i350.
        igb/igc: Don't warn on fatal read failures when the device is removed
        tcp: increase tcp_max_syn_backlog max value
        net: increase SOMAXCONN to 4096
        netdevsim: Fix use-after-free during device dismantle
        ...
      1204c70d
    • L
      Merge tag 'nfs-for-5.4-3' of git://git.linux-nfs.org/projects/anna/linux-nfs · 372bf6c1
      Linus Torvalds 提交于
      Pull NFS client bugfixes from Anna Schumaker:
       "This contains two delegation fixes (with the RCU lock leak fix marked
        for stable), and three patches to fix destroying the the sunrpc back
        channel.
      
        Stable bugfixes:
      
         - Fix an RCU lock leak in nfs4_refresh_delegation_stateid()
      
        Other fixes:
      
         - The TCP back channel mustn't disappear while requests are
           outstanding
      
         - The RDMA back channel mustn't disappear while requests are
           outstanding
      
         - Destroy the back channel when we destroy the host transport
      
         - Don't allow a cached open with a revoked delegation"
      
      * tag 'nfs-for-5.4-3' of git://git.linux-nfs.org/projects/anna/linux-nfs:
        NFS: Fix an RCU lock leak in nfs4_refresh_delegation_stateid()
        NFSv4: Don't allow a cached open with a revoked delegation
        SUNRPC: Destroy the back channel when we destroy the host transport
        SUNRPC: The RDMA back channel mustn't disappear while requests are outstanding
        SUNRPC: The TCP back channel mustn't disappear while requests are outstanding
      372bf6c1
    • L
      Merge tag 'for-linus-20191101' of git://git.kernel.dk/linux-block · 0821de28
      Linus Torvalds 提交于
      Pull block fixes from Jens Axboe:
      
       - Two small nvme fixes, one is a fabrics connection fix, the other one
         a cleanup made possible by that fix (Anton, via Keith)
      
       - Fix requeue handling in umb ubd (Anton)
      
       - Fix spin_lock_irq() nesting in blk-iocost (Dan)
      
       - Three small io_uring fixes:
           - Install io_uring fd after done with ctx (me)
           - Clear ->result before every poll issue (me)
           - Fix leak of shadow request on error (Pavel)
      
      * tag 'for-linus-20191101' of git://git.kernel.dk/linux-block:
        iocost: don't nest spin_lock_irq in ioc_weight_write()
        io_uring: ensure we clear io_kiocb->result before each issue
        um-ubd: Entrust re-queue to the upper layers
        nvme-multipath: remove unused groups_only mode in ana log
        nvme-multipath: fix possible io hang after ctrl reconnect
        io_uring: don't touch ctx in setup after ring fd install
        io_uring: Fix leaked shadow_req
      0821de28
    • L
      Merge tag 'riscv/for-v5.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · e5897c7d
      Linus Torvalds 提交于
      Pull RISC-V fixes from Paul Walmsley:
       "One fix for PCIe users:
      
         - Fix legacy PCI I/O port access emulation
      
        One set of cleanups:
      
         - Resolve most of the warnings generated by sparse across arch/riscv.
           No functional changes
      
        And one MAINTAINERS update:
      
         - Update Palmer's E-mail address"
      
      * tag 'riscv/for-v5.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        MAINTAINERS: Change to my personal email address
        RISC-V: Add PCIe I/O BAR memory mapping
        riscv: for C functions called only from assembly, mark with __visible
        riscv: fp: add missing __user pointer annotations
        riscv: add missing header file includes
        riscv: mark some code and data as file-static
        riscv: init: merge split string literals in preprocessor directive
        riscv: add prototypes for assembly language functions from head.S
      e5897c7d
    • L
      Merge branch 'parisc-5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 31408fbe
      Linus Torvalds 提交于
      Pull parisc fix from Helge Deller:
       "Fix a parisc kernel crash with ftrace functions when compiled without
        frame pointers"
      
      * 'parisc-5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix frame pointer in ftrace_regs_caller()
      31408fbe
    • D
      Merge branch 'fix-BPF-offload-related-bugs' · aeb1b85c
      David S. Miller 提交于
      Jakub Kicinski says:
      
      ====================
      fix BPF offload related bugs
      
      test_offload.py catches some recently added bugs.
      
      First of a bug in test_offload.py itself after recent changes
      to netdevsim is fixed.
      
      Second patch fixes a bug in cls_bpf, and last one addresses
      a problem with the recently added XDP installation optimization.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aeb1b85c
    • J
      net: fix installing orphaned programs · aefc3e72
      Jakub Kicinski 提交于
      When netdevice with offloaded BPF programs is destroyed
      the programs are orphaned and removed from the program
      IDA - their IDs get released (the programs may remain
      accessible via existing open file descriptors and pinned
      files). After IDs are released they are set to 0.
      
      This confuses dev_change_xdp_fd() because it compares
      the __dev_xdp_query() result where 0 means no program
      with prog->aux->id where 0 means orphaned.
      
      dev_change_xdp_fd() would have incorrectly returned success
      even though it had not installed the program.
      
      Since drivers already catch this case via bpf_offload_dev_match()
      let them handle this case. The error message drivers produce in
      this case ("program loaded for a different device") is in fact
      correct as the orphaned program must had to be loaded for a
      different device.
      
      Fixes: c14a9f63 ("net: Don't call XDP_SETUP_PROG when nothing is changed")
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aefc3e72
    • J
      net: cls_bpf: fix NULL deref on offload filter removal · 41aa29a5
      Jakub Kicinski 提交于
      Commit 40119211 ("net: sched: refactor block offloads counter
      usage") missed the fact that either new prog or old prog may be
      NULL.
      
      Fixes: 40119211 ("net: sched: refactor block offloads counter usage")
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      41aa29a5
    • J
      selftests: bpf: Skip write only files in debugfs · 8101e069
      Jakub Kicinski 提交于
      DebugFS for netdevsim now contains some "action trigger" files
      which are write only. Don't try to capture the contents of those.
      
      Note that we can't use os.access() because the script requires
      root.
      
      Fixes: 4418f862 ("netdevsim: implement support for devlink region and snapshots")
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8101e069
    • W
      selftests: net: reuseport_dualstack: fix uninitalized parameter · d64479a3
      Wei Wang 提交于
      This test reports EINVAL for getsockopt(SOL_SOCKET, SO_DOMAIN)
      occasionally due to the uninitialized length parameter.
      Initialize it to fix this, and also use int for "test_family" to comply
      with the API standard.
      
      Fixes: d6a61f80 ("soreuseport: test mixed v4/v6 sockets")
      Reported-by: NMaciej Żenczykowski <maze@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NWei Wang <weiwan@google.com>
      Cc: Craig Gallek <cgallek@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d64479a3
    • H
      r8169: fix wrong PHY ID issue with RTL8168dp · 62bdc8fd
      Heiner Kallweit 提交于
      As reported in [0] at least one RTL8168dp version has problems
      establishing a link. This chip version has an integrated RTL8211b PHY,
      however the chip seems to report a wrong PHY ID, resulting in a wrong
      PHY driver (for Generic Realtek PHY) being loaded.
      Work around this issue by adding a hook to r8168dp_2_mdio_read()
      for returning the correct PHY ID.
      
      [0] https://bbs.archlinux.org/viewtopic.php?id=246508
      
      Fixes: 242cd9b5 ("r8169: use phy_resume/phy_suspend")
      Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62bdc8fd
    • F
      net: dsa: bcm_sf2: Fix IMP setup for port different than 8 · 5fc0f212
      Florian Fainelli 提交于
      Since it became possible for the DSA core to use a CPU port different
      than 8, our bcm_sf2_imp_setup() function was broken because it assumes
      that registers are applicable to port 8. In particular, the port's MAC
      is going to stay disabled, so make sure we clear the RX_DIS and TX_DIS
      bits if we are not configured for port 8.
      
      Fixes: 9f91484f ("net: dsa: make "label" property optional for dsa2")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5fc0f212