21 Dec, 2017

1 commit


18 Dec, 2017

1 commit

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2017-12-17

    The following pull-request contains BPF updates for your *net* tree.

    The main changes are:

    1) Fix a corner case in generic XDP where we have non-linear skbs
    but enough tailroom in the skb to not miss to linearizing there,
    from Song.

    2) Fix BPF JIT bugs in s390x and ppc64 to not recache skb data when
    BPF context is not skb, from Daniel.

    3) Fix a BPF JIT bug in sparc64 where recaching skb data after helper
    call would use the wrong register for the skb, from Daniel.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

16 Dec, 2017

6 commits

  • Pull networking fixes from David Miller:

    1) Clamp timeouts to INT_MAX in conntrack, from Jay Elliot.

    2) Fix broken UAPI for BPF_PROG_TYPE_PERF_EVENT, from Hendrik
    Brueckner.

    3) Fix locking in ieee80211_sta_tear_down_BA_sessions, from Johannes
    Berg.

    4) Add missing barriers to ptr_ring, from Michael S. Tsirkin.

    5) Don't advertise gigabit in sh_eth when not available, from Thomas
    Petazzoni.

    6) Check network namespace when delivering to netlink taps, from Kevin
    Cernekee.

    7) Kill a race in raw_sendmsg(), from Mohamed Ghannam.

    8) Use correct address in TCP md5 lookups when replying to an incoming
    segment, from Christoph Paasch.

    9) Add schedule points to BPF map alloc/free, from Eric Dumazet.

    10) Don't allow silly mtu values to be used in ipv4/ipv6 multicast, also
    from Eric Dumazet.

    11) Fix SKB leak in tipc, from Jon Maloy.

    12) Disable MAC learning on OVS ports of mlxsw, from Yuval Mintz.

    13) SKB leak fix in skB_complete_tx_timestamp(), from Willem de Bruijn.

    14) Add some new qmi_wwan device IDs, from Daniele Palmas.

    15) Fix static key imbalance in ingress qdisc, from Jiri Pirko.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (76 commits)
    net: qcom/emac: Reduce timeout for mdio read/write
    net: sched: fix static key imbalance in case of ingress/clsact_init error
    net: sched: fix clsact init error path
    ip_gre: fix wrong return value of erspan_rcv
    net: usb: qmi_wwan: add Telit ME910 PID 0x1101 support
    pkt_sched: Remove TC_RED_OFFLOADED from uapi
    net: sched: Move to new offload indication in RED
    net: sched: Add TCA_HW_OFFLOAD
    net: aquantia: Increment driver version
    net: aquantia: Fix typo in ethtool statistics names
    net: aquantia: Update hw counters on hw init
    net: aquantia: Improve link state and statistics check interval callback
    net: aquantia: Fill in multicast counter in ndev stats from hardware
    net: aquantia: Fill ndev stat couters from hardware
    net: aquantia: Extend stat counters to 64bit values
    net: aquantia: Fix hardware DMA stream overload on large MRRS
    net: aquantia: Fix actual speed capabilities reporting
    sock: free skb in skb_complete_tx_timestamp on error
    s390/qeth: update takeover IPs after configuration change
    s390/qeth: lock IP table while applying takeover changes
    ...

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some USB fixes for 4.15-rc4.

    There is the usual handful gadget/dwc2/dwc3 fixes as always, for
    reported issues. But the most important things in here is the core fix
    from Alan Stern to resolve a nasty security bug (my first attempt is
    reverted, Alan's was much cleaner), as well as a number of usbip fixes
    from Shuah Khan to resolve those reported security issues.

    All of these have been in linux-next with no reported issues"

    * tag 'usb-4.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: core: prevent malicious bNumInterfaces overflow
    Revert "USB: core: only clean up what we allocated"
    USB: core: only clean up what we allocated
    Revert "usb: gadget: allow to enable legacy drivers without USB_ETH"
    usb: gadget: webcam: fix V4L2 Kconfig dependency
    usb: dwc2: Fix TxFIFOn sizes and total TxFIFO size issues
    usb: dwc3: gadget: Fix PCM1 for ISOC EP with ep->mult less than 3
    usb: dwc3: of-simple: set dev_pm_ops
    usb: dwc3: of-simple: fix missing clk_disable_unprepare
    usb: dwc3: gadget: Wait longer for controller to end command processing
    usb: xhci: fix TDS for MTK xHCI1.1
    xhci: Don't add a virt_dev to the devs array before it's fully allocated
    usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer
    usbip: prevent vhci_hcd driver from leaking a socket pointer address
    usbip: fix stub_rx: harden CMD_SUBMIT path to handle malicious input
    usbip: fix stub_rx: get_pipe() to validate endpoint number
    tools/usbip: fixes potential (minor) "buffer overflow" (detected on recent gcc with -Werror)
    USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID
    usb: musb: da8xx: fix babble condition handling

    Linus Torvalds
     
  • Pull virtio regression fixes from Michael Tsirkin:
    "Fixes two issues in the latest kernel"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio_mmio: fix devm cleanup
    ptr_ring: fix up after recent ptr_ring changes

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes:

    - fix the s2ram regression related to confusion around segment
    register restoration, plus related cleanups that make the code more
    robust

    - a guess-unwinder Kconfig dependency fix

    - an isoimage build target fix for certain tool chain combinations

    - instruction decoder opcode map fixes+updates, and the syncing of
    the kernel decoder headers to the objtool headers

    - a kmmio tracing fix

    - two 5-level paging related fixes

    - a topology enumeration fix on certain SMP systems"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    objtool: Resync objtool's instruction decoder source code copy with the kernel's latest version
    x86/decoder: Fix and update the opcodes map
    x86/power: Make restore_processor_context() sane
    x86/power/32: Move SYSENTER MSR restoration to fix_processor_context()
    x86/power/64: Use struct desc_ptr for the IDT in struct saved_context
    x86/unwinder/guess: Prevent using CONFIG_UNWINDER_GUESS=y with CONFIG_STACKDEPOT=y
    x86/build: Don't verify mtools configuration file for isoimage
    x86/mm/kmmio: Fix mmiotrace for page unaligned addresses
    x86/boot/compressed/64: Print error if 5-level paging is not supported
    x86/boot/compressed/64: Detect and handle 5-level paging at boot-time
    x86/smpboot: Do not use smp_num_siblings in __max_logical_packages calculation

    Linus Torvalds
     
  • Pull locking fixes from Ingo Molnar:
    "Misc fixes:

    - Fix a S390 boot hang that was caused by the lock-break logic.
    Remove lock-break to begin with, as review suggested it was
    unreasonably fragile and our confidence in its continued good
    health is lower than our confidence in its removal.

    - Remove the lockdep cross-release checking code for now, because of
    unresolved false positive warnings. This should make lockdep work
    well everywhere again.

    - Get rid of the final (and single) ACCESS_ONCE() straggler and
    remove the API from v4.15.

    - Fix a liblockdep build warning"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools/lib/lockdep: Add missing declaration of 'pr_cont()'
    checkpatch: Remove ACCESS_ONCE() warning
    compiler.h: Remove ACCESS_ONCE()
    tools/include: Remove ACCESS_ONCE()
    tools/perf: Convert ACCESS_ONCE() to READ_ONCE()
    locking/lockdep: Remove the cross-release locking checks
    locking/core: Remove break_lock field when CONFIG_GENERIC_LOCKBREAK=y
    locking/core: Fix deadlock during boot on systems with GENERIC_LOCKBREAK

    Linus Torvalds
     
  • Add a test that i) uses LD_ABS, ii) zeroing R6 before call, iii) calls
    a helper that triggers reload of cached skb data, iv) uses LD_ABS again.
    It's added for test_bpf in order to do runtime testing after JITing as
    well as test_verifier to test that the sequence is allowed.

    Signed-off-by: Daniel Borkmann
    Acked-by: Alexei Starovoitov
    Signed-off-by: Alexei Starovoitov

    Daniel Borkmann
     

15 Dec, 2017

4 commits

  • Two kernel headers got modified recently, which are used by tooling as well:

    tools/include/uapi/linux/kvm.h
    arch/x86/include/asm/cpufeatures.h

    None of those changes have an effect on tooling, so do a plain copy.

    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Namhyung Kim
    Cc: Jiri Olsa
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • This fixes the following warning:

    warning: objtool: x86 instruction decoder differs from kernel

    Note that there are cleanups queued up for v4.16 that will make this
    warning more informative and will make the syncing easier as well.

    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Update x86-opcode-map.txt based on the October 2017 Intel SDM publication.
    Fix INVPID to INVVPID.
    Add UD0 and UD1 instruction opcodes.

    Also sync the objtool and perf tooling copies of this file.

    Signed-off-by: Randy Dunlap
    Acked-by: Masami Hiramatsu
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/aac062d7-c0f6-96e3-5c92-ed299e2bd3da@infradead.org
    Signed-off-by: Ingo Molnar

    Randy Dunlap
     
  • On some linux distributions, the default link of sh is dash which
    deoesn't support split array like "${var//,/ }"

    It's better to force to use bash shell directly.

    Link: http://lkml.kernel.org/r/20171208093751.GA175471@sofia
    Signed-off-by: Liu Changcheng
    Reviewed-by: Sergey Senozhatsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Liu, Changcheng
     

13 Dec, 2017

2 commits

  • Commit:

    681fbec881de ("lockdep: Use consistent printing primitives")

    has moved lockdep away from using printk() for printing.

    The commit added usage of pr_cont() which wasn't wrapped in the
    userspace headers, causing the following warning for the
    liblockdep build:

    ../../../kernel/locking/lockdep.c:3544:2: warning: implicit declaration of function 'pr_cont' [-Wimplicit-function-declaration]

    Adding an empty declaration of 'pr_cont' fixes the problem.

    Signed-off-by: Mengting Zhang
    Signed-off-by: Sasha Levin
    Reviewed-by: Alexander Sverdlin
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: a.p.zijlstra@chello.nl
    Link: http://lkml.kernel.org/r/20171212181644.11913-2-alexander.levin@verizon.com
    Signed-off-by: Ingo Molnar

    Mengting Zhang
     
  • At least on x86_64, the kernel's BPF selftests seemed to have stopped
    to build due to 618e165b2a8e ("selftests/bpf: sync kernel headers and
    introduce arch support in Makefile"):

    [...]
    In file included from test_verifier.c:29:0:
    ../../../include/uapi/linux/bpf_perf_event.h:11:32:
    fatal error: asm/bpf_perf_event.h: No such file or directory
    #include
    ^
    compilation terminated.
    [...]

    While pulling in tools/arch/*/include/uapi/asm/bpf_perf_event.h seems
    to work fine, there's no automated fall-back logic right now that would
    do the same out of tools/include/uapi/asm-generic/bpf_perf_event.h. The
    usual convention today is to add a include/[uapi/]asm/ equivalent that
    would pull in the correct arch header or generic one as fall-back, all
    ifdef'ed based on compiler target definition. It's similarly done also
    in other cases such as tools/include/asm/barrier.h, thus adapt the same
    here.

    Fixes: 618e165b2a8e ("selftests/bpf: sync kernel headers and introduce arch support in Makefile")
    Signed-off-by: Daniel Borkmann
    Cc: Hendrik Brueckner
    Cc: Arnaldo Carvalho de Melo
    Acked-by: Alexei Starovoitov
    Signed-off-by: Alexei Starovoitov

    Daniel Borkmann
     

12 Dec, 2017

3 commits

  • There are no longer any usersapce uses of ACCESS_ONCE(), so we can
    remove the definition from our userspace , which is
    only used by tools in the kernel directory (i.e. it isn't a uapi
    header).

    This patch removes the ACCESS_ONCE() definition, and updates comments
    which referred to it. At the same time, some inconsistent and redundant
    whitespace is removed from comments.

    Tested-by: Paul E. McKenney
    Signed-off-by: Mark Rutland
    Cc: Arnaldo Carvalho de Melo
    Cc: Joe Perches
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: apw@canonical.com
    Link: http://lkml.kernel.org/r/20171127103824.36526-3-mark.rutland@arm.com
    Signed-off-by: Ingo Molnar

    Mark Rutland
     
  • Recently there was a treewide conversion of ACCESS_ONCE() to
    {READ,WRITE}_ONCE(), but a new use was introduced concurrently by
    commit:

    1695849735752d2a ("perf mmap: Move perf_mmap and methods to separate mmap.[ch] files")

    Let's convert this over to READ_ONCE() so that we can remove the
    ACCESS_ONCE() definitions in subsequent patches.

    Tested-by: Paul E. McKenney
    Signed-off-by: Mark Rutland
    Reviewed-by: Paul E. McKenney
    Cc: Arnaldo Carvalho de Melo
    Cc: Joe Perches
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: apw@canonical.com
    Link: http://lkml.kernel.org/r/20171127103824.36526-2-mark.rutland@arm.com
    Signed-off-by: Ingo Molnar

    Mark Rutland
     
  • …/balbi/usb into usb-linus

    Felipe writes:

    usb: fixes for v4.15-rc4

    We have a few fixes on dwc3:

    - one fix which only happens with some implementations where we need to
    wait longer for some commands to finish.

    - Another fix for high-bandwidth isochronous endpoint programming making
    sure that we send the correct DATA tokens in the correct sequence

    - A couple PM fixes on dwc3-of-simple

    The other synopsys controller driver (dwc2) got a fix for FIFO size
    programming.

    Other than these, we have a couple Kconfig fixes making sure that
    dependencies are properly setup.

    Greg Kroah-Hartman
     

09 Dec, 2017

4 commits

  • Commit 4675ff05de2d ("kmemcheck: rip it out") has removed the code but
    for some reason SPDX header stayed in place. This looks like a rebase
    mistake in the mmotm tree or the merge mistake. Let's drop those
    leftovers as well.

    Signed-off-by: Michal Hocko
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • Pull networking fixes from David Miller:

    1) CAN fixes from Martin Kelly (cancel URBs properly in all the CAN usb
    drivers).

    2) Revert returning -EEXIST from __dev_alloc_name() as this propagates
    to userspace and broke some apps. From Johannes Berg.

    3) Fix conn memory leaks and crashes in TIPC, from Jon Malloc and Cong
    Wang.

    4) Gianfar MAC can't do EEE so don't advertise it by default, from
    Claudiu Manoil.

    5) Relax strict netlink attribute validation, but emit a warning. From
    David Ahern.

    6) Fix regression in checksum offload of thunderx driver, from Florian
    Westphal.

    7) Fix UAPI bpf issues on s390, from Hendrik Brueckner.

    8) New card support in iwlwifi, from Ihab Zhaika.

    9) BBR congestion control bug fixes from Neal Cardwell.

    10) Fix port stats in nfp driver, from Pieter Jansen van Vuuren.

    11) Fix leaks in qualcomm rmnet, from Subash Abhinov Kasiviswanathan.

    12) Fix DMA API handling in sh_eth driver, from Thomas Petazzoni.

    13) Fix spurious netpoll warnings in bnxt_en, from Calvin Owens.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (67 commits)
    net: mvpp2: fix the RSS table entry offset
    tcp: evaluate packet losses upon RTT change
    tcp: fix off-by-one bug in RACK
    tcp: always evaluate losses in RACK upon undo
    tcp: correctly test congestion state in RACK
    bnxt_en: Fix sources of spurious netpoll warnings
    tcp_bbr: reset long-term bandwidth sampling on loss recovery undo
    tcp_bbr: reset full pipe detection on loss recovery undo
    tcp_bbr: record "full bw reached" decision in new full_bw_reached bit
    sfc: pass valid pointers from efx_enqueue_unwind
    gianfar: Disable EEE autoneg by default
    tcp: invalidate rate samples during SACK reneging
    can: peak/pcie_fd: fix potential bug in restarting tx queue
    can: usb_8dev: cancel urb on -EPIPE and -EPROTO
    can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
    can: esd_usb2: cancel urb on -EPIPE and -EPROTO
    can: ems_usb: cancel urb on -EPIPE and -EPROTO
    can: mcba_usb: cancel urb on -EPROTO
    usbnet: fix alignment for frames with no ethernet header
    tcp: use current time in tcp_rcv_space_adjust()
    ...

    Linus Torvalds
     
  • When a client has a USB device attached over IP, the vhci_hcd driver is
    locally leaking a socket pointer address via the

    /sys/devices/platform/vhci_hcd/status file (world-readable) and in debug
    output when "usbip --debug port" is run.

    Fix it to not leak. The socket pointer address is not used at the moment
    and it was made visible as a convenient way to find IP address from socket
    pointer address by looking up /proc/net/{tcp,tcp6}.

    As this opens a security hole, the fix replaces socket pointer address with
    sockfd.

    Reported-by: Secunia Research
    Cc: stable
    Signed-off-by: Shuah Khan
    Signed-off-by: Greg Kroah-Hartman

    Shuah Khan
     
  • Fixes following build error:
    vhci_driver.c: In function 'refresh_imported_device_list':
    vhci_driver.c:118:37: error: 'snprintf' output may be truncated before
    the last format character [-Werror=format-truncation=]
    snprintf(status, sizeof(status), "status.%d", i);
    ^~~~~~~~~~~
    vhci_driver.c:118:4: note: 'snprintf' output between 9 and 18 bytes into
    a destination of size 17
    snprintf(status, sizeof(status), "status.%d", i);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors

    Signed-off-by: Julien BOIBESSOT
    Acked-by: Shuah Khan
    Signed-off-by: Greg Kroah-Hartman

    Julien BOIBESSOT
     

08 Dec, 2017

1 commit


07 Dec, 2017

4 commits

  • Pull perf fixes from Ingo Molnar:
    "This includes perf namespace support kernel side fixes, plus an
    accumulated set of perf tooling fixes - including UAPI header
    synchronization that should make the perf build less noisy"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
    tooling/headers: Synchronize updated s390 and x86 UAPI headers
    tools headers: Syncronize mman.h ABI header
    tools headers: Synchronize prctl.h ABI header
    tools headers: Synchronize KVM arch ABI headers
    tools headers: Synchronize drm/i915_drm.h
    tools headers uapi: Synchronize drm/drm.h
    tools headers: Synchronize perf_event.h header
    tools headers: Synchronize kernel ABI headers wrt SPDX tags
    tools/headers: Synchronize kernel x86 UAPI headers
    perf intel-pt: Bring instruction decoder files into line with the kernel
    perf test: Fix test 21 for s390x
    perf bench numa: Fixup discontiguous/sparse numa nodes
    perf top: Use signal interface for SIGWINCH handler
    perf top: Fix window dimensions change handling
    perf: Fix header.size for namespace events
    perf top: Ignore kptr_restrict when not sampling the kernel
    perf record: Ignore kptr_restrict when not sampling the kernel
    perf report: Ignore kptr_restrict when not sampling the kernel
    perf evlist: Add helper to check if attr.exclude_kernel is set in all evsels
    perf test shell: Fix test case probe libc's inet_pton on s390x
    ...

    Linus Torvalds
     
  • There were two trivial updates to these upstream UAPI headers:

    arch/s390/include/uapi/asm/kvm.h
    arch/s390/include/uapi/asm/kvm_perf.h
    arch/x86/lib/x86-opcode-map.txt

    Synchronize them with their tooling copies.

    (The x86 opcode map includes a new instruction pattern now.)

    Cc: Arnaldo Carvalho de Melo
    Cc: Peter Zijlstra
    Cc: Namhyung Kim
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Thomas Gleixner
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The new ORC unwinder breaks the build of a 64-bit kernel on a 32-bit
    host. Building the kernel on a i386 or x32 host fails with:

    orc_dump.c: In function 'orc_dump':
    orc_dump.c:105:26: error: passing argument 2 of 'elf_getshdrnum' from incompatible pointer type [-Werror=incompatible-pointer-types]
    if (elf_getshdrnum(elf, &nr_sections)) {
    ^
    In file included from /usr/local/include/gelf.h:32:0,
    from elf.h:22,
    from warn.h:26,
    from orc_dump.c:20:
    /usr/local/include/libelf.h:304:12: note: expected 'size_t * {aka unsigned int *}' but argument is of type 'long unsigned int *'
    extern int elf_getshdrnum (Elf *__elf, size_t *__dst);
    ^~~~~~~~~~~~~~
    orc_dump.c:190:17: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'Elf64_Sxword {aka long long int}' [-Werror=format=]
    printf("%s+%lx:", name, rela.r_addend);
    ~~^ ~~~~~~~~~~~~~
    %llx

    Fix the build failure.

    Another problem is that if the user specifies HOSTCC or HOSTLD
    variables, they are ignored in the objtool makefile. Change the
    Makefile to respect these variables.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Sven Joachim
    Cc: Thomas Gleixner
    Fixes: 627fce14809b ("objtool: Add ORC unwind table generation")
    Link: http://lkml.kernel.org/r/19f0e64d8e07e30a7b307cd010eb780c404fe08d.1512252895.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Mikulas Patocka
     

06 Dec, 2017

2 commits

  • Pull char/misc fixes from Greg KH:
    "Here are some small misc driver fixes for 4.15-rc3 to resolve reported
    issues. Specifically these are:

    - binder fix for a memory leak

    - vpd driver fixes for a number of reported problems

    - hyperv driver fix for memory accesses where it shouldn't be.

    All of these have been in linux-next for a while. There's also one
    more MAINTAINERS file update that came in today to get the Android
    developer's emails correct, which is also in this pull request, that
    was not in linux-next, but should not be an issue"

    * tag 'char-misc-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    MAINTAINERS: update Android driver maintainers.
    firmware: vpd: Fix platform driver and device registration/unregistration
    firmware: vpd: Tie firmware kobject to device lifetime
    firmware: vpd: Destroy vpd sections in remove function
    hv: kvp: Avoid reading past allocated blocks from KVP file
    Drivers: hv: vmbus: Fix a rescind issue
    ANDROID: binder: fix transaction leak.

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a few minor USB fixes for 4.15-rc3.

    The largest here is the Kconfig text and configuration changes for the
    USB TypeC build options that you reported during the -rc1 merge
    window. The others are all just small fixes for reported issues, as
    well as some new device ids.

    The most "interesting" of anything here is the usbip fixes as it seems
    lots of people are starting to pay attention to that driver at the
    moment. These fixes should resolve all of the reported problems as of
    now.

    Of course there are the usual xhci and gadget fixes as well, can't go
    a pull request without those...

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'usb-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (22 commits)
    usb: xhci: fix panic in xhci_free_virt_devices_depth_first
    xhci: Don't show incorrect WARN message about events for empty rings
    usbip: fix usbip attach to find a port that matches the requested speed
    usbip: Fix USB device hang due to wrong enabling of scatter-gather
    uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices
    usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub
    usb: build drivers/usb/common/ when USB_SUPPORT is set
    usb: hub: Cycle HUB power when initialization fails
    USB: core: Add type-specific length check of BOS descriptors
    usb: host: fix incorrect updating of offset
    USB: ulpi: fix bus-node lookup
    USB: usbfs: Filter flags passed in from user space
    usb: add user selectable option for the whole USB Type-C Support
    usb: f_fs: Force Reserved1=1 in OS_DESC_EXT_COMPAT
    usb: gadget: core: Fix ->udc_set_speed() speed handling
    usb: gadget: allow to enable legacy drivers without USB_ETH
    usb: gadget: udc: renesas_usb3: fix number of the pipes
    usb: gadget: don't dereference g until after it has been null checked
    USB: serial: usb_debug: add new USB device id
    usb: bdc: fix platform_no_drv_owner.cocci warnings
    ...

    Linus Torvalds
     

05 Dec, 2017

3 commits

  • The regs_query_register_offset() helper function converts
    register name like "%r0" to an offset of a register in user_pt_regs
    It is required by the BPF prologue generator.

    The user_pt_regs structure was recently added to "asm/ptrace.h".
    Hence, update tools/perf/check-headers.sh to keep the header file
    in sync with kernel changes.

    Suggested-by: Thomas Richter
    Signed-off-by: Hendrik Brueckner
    Reviewed-and-tested-by: Thomas Richter
    Acked-by: Alexei Starovoitov
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Heiko Carstens
    Signed-off-by: Daniel Borkmann

    Hendrik Brueckner
     
  • Synchronize the uapi kernel header files which solves the broken
    uapi export of pt_regs. Because of arch-specific uapi headers,
    extended the include path in the Makefile.

    With this change, the test_verifier program compiles and runs successfully
    on s390.

    Signed-off-by: Hendrik Brueckner
    Reviewed-and-tested-by: Thomas Richter
    Acked-by: Alexei Starovoitov
    Cc: Daniel Borkmann
    Cc: Shuah Khan
    Signed-off-by: Daniel Borkmann

    Hendrik Brueckner
     
  • Pull networking fixes from David Miller:

    1) Various TCP control block fixes, including one that crashes with
    SELinux, from David Ahern and Eric Dumazet.

    2) Fix ACK generation in rxrpc, from David Howells.

    3) ipvlan doesn't set the mark properly in the ipv4 route lookup key,
    from Gao Feng.

    4) SIT configuration doesn't take on the frag_off ipv4 field
    configuration properly, fix from Hangbin Liu.

    5) TSO can fail after device down/up on stmmac, fix from Lars Persson.

    6) Various bpftool fixes (mostly in JSON handling) from Quentin Monnet.

    7) Various SKB leak fixes in vhost/tun/tap (mostly observed as
    performance problems). From Wei Xu.

    8) mvpps's TX descriptors were not zero initialized, from Yan Markman.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (57 commits)
    tcp: use IPCB instead of TCP_SKB_CB in inet_exact_dif_match()
    tcp: add tcp_v4_fill_cb()/tcp_v4_restore_cb()
    rxrpc: Fix the MAINTAINERS record
    rxrpc: Use correct netns source in rxrpc_release_sock()
    liquidio: fix incorrect indentation of assignment statement
    stmmac: reset last TSO segment size after device open
    ipvlan: Add the skb->mark as flow4's member to lookup route
    s390/qeth: build max size GSO skbs on L2 devices
    s390/qeth: fix GSO throughput regression
    s390/qeth: fix thinko in IPv4 multicast address tracking
    tap: free skb if flags error
    tun: free skb in early errors
    vhost: fix skb leak in handle_rx()
    bnxt_en: Fix a variable scoping in bnxt_hwrm_do_send_msg()
    bnxt_en: fix dst/src fid for vxlan encap/decap actions
    bnxt_en: wildcard smac while creating tunnel decap filter
    bnxt_en: Need to unconditionally shut down RoCE in bnxt_shutdown
    phylink: ensure we take the link down when phylink_stop() is called
    sfp: warn about modules requiring address change sequence
    sfp: improve RX_LOS handling
    ...

    Linus Torvalds
     

04 Dec, 2017

1 commit

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2017-12-02

    The following pull-request contains BPF updates for your *net* tree.

    The main changes are:

    1) Fix a compilation warning in xdp redirect tracepoint due to
    missing bpf.h include that pulls in struct bpf_map, from Xie.

    2) Limit the maximum number of attachable BPF progs for a given
    perf event as long as uabi is not frozen yet. The hard upper
    limit is now 64 and therefore the same as with BPF multi-prog
    for cgroups. Also add related error checking for the sample
    BPF loader when enabling and attaching to the perf event, from
    Yonghong.

    3) Specifically set the RLIMIT_MEMLOCK for the test_verifier_log
    case, so that the test case can always pass and not fail in
    some environments due to too low default limit, also from
    Yonghong.

    4) Fix up a missing license header comment for kernel/bpf/offload.c,
    from Jakub.

    5) Several fixes for bpftool, among others a crash on incorrect
    arguments when json output is used, error message handling
    fixes on unknown options and proper destruction of json writer
    for some exit cases, all from Quentin.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

01 Dec, 2017

3 commits

  • Pull power management fixes from Rafael Wysocki:

    - add missing module information to the Mediatek cpufreq driver module
    (Jesse Chan)

    - fix config dependencies for the Loongson cpufreq driver (James Hogan)

    - fix two issues related to CPU offline in the cpupower utility
    (Abhishek Goel).

    * tag 'pm-4.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: mediatek: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
    cpufreq: Add Loongson machine dependencies
    cpupower : Fix cpupower working when cpu0 is offline
    cpupowerutils: bench - Fix cpu online check

    Linus Torvalds
     
  • The default rlimit RLIMIT_MEMLOCK is 64KB. In certain cases,
    e.g. in a test machine mimicking our production system, this test may
    fail due to unable to charge the required memory for prog load:
    # ./test_verifier_log
    Test log_level 0...
    ERROR: Program load returned: ret:-1/errno:1, expected ret:-1/errno:22

    Changing the default rlimit RLIMIT_MEMLOCK to unlimited makes
    the test always pass.

    Signed-off-by: Yonghong Song
    Signed-off-by: Daniel Borkmann

    Yonghong Song
     
  • usbip attach fails to find a free port when the device on the first port
    is a USB_SPEED_SUPER device and non-super speed device is being attached.
    It keeps checking the first port and returns without a match getting stuck
    in a loop.

    Fix it check to find the first port with matching speed.

    Reported-by: Juan Zea
    Signed-off-by: Shuah Khan
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Shuah Khan
     

30 Nov, 2017

5 commits

  • In the Makefile, targets install, doc and doc-install should be added to
    .PHONY. Let's fix this.

    Fixes: 71bb428fe2c1 ("tools: bpf: add bpftool")
    Signed-off-by: Quentin Monnet
    Acked-by: Jakub Kicinski
    Signed-off-by: Daniel Borkmann

    Quentin Monnet
     
  • Programs and documentation not managed by package manager are generally
    installed under /usr/local/, instead of the user's home directory. In
    particular, `man` is generally able to find manual pages under
    `/usr/local/share/man`.

    bpftool generally follows perf's example, and perf installs to home
    directory. However bpftool requires root credentials, so it seems
    sensible to follow the more common convention of installing files under
    /usr/local instead. So, make /usr/local the default prefix for
    installing the binary with `make install`, and the documentation with
    `make doc-install`. Also, create /usr/local/sbin if it does not exist.

    Note that the bash-completion file, however, is still installed under
    /usr/share/bash-completion/completions, as the default setup for bash
    does not attempt to load completion files under /usr/local/.

    Reported-by: David Beckett
    Signed-off-by: Quentin Monnet
    Acked-by: Jakub Kicinski
    Signed-off-by: Daniel Borkmann

    Quentin Monnet
     
  • The end-of-line character inside the string would break JSON compliance.
    Remove it, `p_err()` already adds a '\n' character for plain output
    anyway.

    Fixes: 9a5ab8bf1d6d ("tools: bpftool: turn err() and info() macros into functions")
    Reported-by: Jakub Kicinski
    Signed-off-by: Quentin Monnet
    Acked-by: Jakub Kicinski
    Signed-off-by: Daniel Borkmann

    Quentin Monnet
     
  • If `getopt_long()` meets an unknown option, it prints its own error
    message to standard error output. While this does not strictly break
    JSON output, it is the only case bpftool prints something to standard
    error output if JSON output is required. All other errors are printed on
    standard output as JSON objects, so that an external program does not
    have to parse stderr.

    This is changed by setting the global variable `opterr` to 0.
    Furthermore, p_err() is used to reproduce the error message in a more
    JSON-friendly way, so that users still get to know what the erroneous
    option is.

    Signed-off-by: Quentin Monnet
    Acked-by: Jakub Kicinski
    Signed-off-by: Daniel Borkmann

    Quentin Monnet
     
  • The writer is cleaned at the end of the main function, but not if the
    program exits sooner in usage(). Let's keep it clean and destroy the
    writer before exiting.

    Destruction and actual call to exit() are moved to another function so
    that clean exit can also be performed without printing usage() hints.

    Fixes: d35efba99d92 ("tools: bpftool: introduce --json and --pretty options")
    Signed-off-by: Quentin Monnet
    Acked-by: Jakub Kicinski
    Signed-off-by: Daniel Borkmann

    Quentin Monnet