17 Feb, 2020

1 commit

  • Whenever the server side of vsock is binding to the socket, but not
    listening yet, we expect the behavior from the client to be identical to
    what happens when the server is not even started.

    This new test runs the server side so that it binds to the socket
    without ever listening to it. The client side will try to connect and
    should receive an ECONNRESET error.

    This new test provides a way to validate the previously introduced patch
    for making sure the server side will always answer with a RST packet in
    case the client requested a new connection.

    Signed-off-by: Sebastien Boeuf
    Signed-off-by: David S. Miller

    Sebastien Boeuf
     

15 Feb, 2020

1 commit

  • Pull networking fixes from David Miller:

    1) Fix interrupt name truncation in mv88e6xxx dsa driver, from Andrew
    Lunn.

    2) Process generic XDP even if SKB is cloned, from Toke Høiland-Jørgensen.

    3) Fix leak of kernel memory to userspace in smc, from Eric Dumazet.

    4) Add some missing netlink attribute validation to matchall and
    flower, from Davide Caratti.

    5) Send icmp responses properly when NAT has been applied to the frame
    before we get to the tunnel emitting the icmp, from Jason Donenfeld.

    6) Make sure there is enough SKB headroom when adding dsa tags for qca
    and ar9331. From Per Forlin.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (62 commits)
    netdevice.h: fix all kernel-doc and Sphinx warnings
    net: dsa: tag_ar9331: Make sure there is headroom for tag
    net: dsa: tag_qca: Make sure there is headroom for tag
    net, ip6_tunnel: enhance tunnel locate with link check
    net/smc: no peer ID in CLC decline for SMCD
    net/smc: transfer fasync_list in case of fallback
    net: hns3: fix a copying IPv6 address error in hclge_fd_get_flow_tuples()
    net: hns3: fix VF bandwidth does not take effect in some case
    net: hns3: add management table after IMP reset
    mac80211: fix wrong 160/80+80 MHz setting
    cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE
    xfrm: interface: use icmp_ndo_send helper
    wireguard: device: use icmp_ndo_send helper
    sunvnet: use icmp_ndo_send helper
    gtp: use icmp_ndo_send helper
    icmp: introduce helper for nat'd source address in network device context
    net/sched: flower: add missing validation of TCA_FLOWER_FLAGS
    net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS
    net/flow_dissector: remove unexist field description
    page_pool: refill page when alloc.count of pool is zero
    ...

    Linus Torvalds
     

14 Feb, 2020

1 commit

  • Because wireguard is calling icmp from network device context, it should
    use the ndo helper so that the rate limiting applies correctly. This
    commit adds a small test to the wireguard test suite to ensure that the
    new functions continue doing the right thing in the context of
    wireguard. It does this by setting up a condition that will definately
    evoke an icmp error message from the driver, but along a nat'd path.

    Signed-off-by: Jason A. Donenfeld
    Signed-off-by: David S. Miller

    Jason A. Donenfeld
     

12 Feb, 2020

1 commit

  • Pull tracing fixes from Steven Rostedt:
    "Various fixes:

    - Fix an uninitialized variable

    - Fix compile bug to bootconfig userspace tool (in tools directory)

    - Suppress some error messages of bootconfig userspace tool

    - Remove unneded CONFIG_LIBXBC from bootconfig

    - Allocate bootconfig xbc_nodes dynamically. To ease complaints about
    taking up static memory at boot up

    - Use of parse_args() to parse bootconfig instead of strstr() usage
    Prevents issues of double quotes containing the interested string

    - Fix missing ring_buffer_nest_end() on synthetic event error path

    - Return zero not -EINVAL on soft disabled synthetic event (soft
    disabling must be the same as hard disabling, which returns zero)

    - Consolidate synthetic event code (remove duplicate code)"

    * tag 'trace-v5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Consolidate trace() functions
    tracing: Don't return -EINVAL when tracing soft disabled synth events
    tracing: Add missing nest end to synth_event_trace_start() error case
    tools/bootconfig: Suppress non-error messages
    bootconfig: Allocate xbc_nodes array dynamically
    bootconfig: Use parse_args() to find bootconfig and '--'
    tracing/kprobe: Fix uninitialized variable bug
    bootconfig: Remove unneeded CONFIG_LIBXBC
    tools/bootconfig: Fix wrong __VA_ARGS__ usage

    Linus Torvalds
     

11 Feb, 2020

3 commits

  • Suppress non-error messages when applying new bootconfig
    to initrd image. To enable it, replace printf for error
    message with pr_err() macro.
    This also adds a testcase for this fix.

    Link: http://lkml.kernel.org/r/158125351377.16911.13283712972275131160.stgit@devnote2

    Reported-by: Michael Ellerman
    Tested-by: Michael Ellerman
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     
  • To reduce the large static array from kernel data, allocate
    xbc_nodes array dynamically only if the kernel loads a
    bootconfig.

    Note that this also add dummy memblock.h for user-spacae
    bootconfig tool.

    Link: http://lkml.kernel.org/r/158108569699.3187.6512834527603883707.stgit@devnote2

    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     
  • Since printk() wrapper macro uses __VA_ARGS__ without "##" prefix, it causes
    a build error if there is no variable arguments (e.g. only fmt is
    specified.) To fix this error, use ##__VA_ARGS__ instead of __VAR_ARGS__.

    Link: http://lkml.kernel.org/r/158108370130.2758.10893830923800978011.stgit@devnote2

    Fixes: 950313ebf79c ("tools: bootconfig: Add bootconfig command")
    Reported-by: Michael Ellerman
    Tested-by: Michael Ellerman
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     

10 Feb, 2020

1 commit

  • Pull perf fixes from Thomas Gleixner:
    "A set of fixes and improvements for the perf subsystem:

    Kernel fixes:

    - Install cgroup events to the correct CPU context to prevent a
    potential list double add

    - Prevent an integer underflow in the perf mlock accounting

    - Add a missing prototype for arch_perf_update_userpage()

    Tooling:

    - Add a missing unlock in the error path of maps__insert() in perf
    maps.

    - Fix the build with the latest libbfd

    - Fix the perf parser so it does not delete parse event terms, which
    caused a regression for using perf with the ARM CoreSight as the
    sink configuration was missing due to the deletion.

    - Fix the double free in the perf CPU map merging test case

    - Add the missing ustring support for the perf probe command"

    * tag 'perf-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf maps: Add missing unlock to maps__insert() error case
    perf probe: Add ustring support for perf probe command
    perf: Make perf able to build with latest libbfd
    perf test: Fix test case Merge cpu map
    perf parse: Copy string to perf_evsel_config_term
    perf parse: Refactor 'struct perf_evsel_config_term'
    kernel/events: Add a missing prototype for arch_perf_update_userpage()
    perf/cgroups: Install cgroup events to correct cpuctx
    perf/core: Fix mlock accounting in perf_mmap()

    Linus Torvalds
     

09 Feb, 2020

1 commit

  • Pull networking fixes from David Miller:

    1) Unbalanced locking in mwifiex_process_country_ie, from Brian Norris.

    2) Fix thermal zone registration in iwlwifi, from Andrei
    Otcheretianski.

    3) Fix double free_irq in sgi ioc3 eth, from Thomas Bogendoerfer.

    4) Use after free in mptcp, from Florian Westphal.

    5) Use after free in wireguard's root_remove_peer_lists, from Eric
    Dumazet.

    6) Properly access packets heads in bonding alb code, from Eric
    Dumazet.

    7) Fix data race in skb_queue_len(), from Qian Cai.

    8) Fix regression in r8169 on some chips, from Heiner Kallweit.

    9) Fix XDP program ref counting in hv_netvsc, from Haiyang Zhang.

    10) Certain kinds of set link netlink operations can cause a NULL deref
    in the ipv6 addrconf code. Fix from Eric Dumazet.

    11) Don't cancel uninitialized work queue in drop monitor, from Ido
    Schimmel.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (84 commits)
    net: thunderx: use proper interface type for RGMII
    mt76: mt7615: fix max_nss in mt7615_eeprom_parse_hw_cap
    bpf: Improve bucket_log calculation logic
    selftests/bpf: Test freeing sockmap/sockhash with a socket in it
    bpf, sockhash: Synchronize_rcu before free'ing map
    bpf, sockmap: Don't sleep while holding RCU lock on tear-down
    bpftool: Don't crash on missing xlated program instructions
    bpf, sockmap: Check update requirements after locking
    drop_monitor: Do not cancel uninitialized work item
    mlxsw: spectrum_dpipe: Add missing error path
    mlxsw: core: Add validation of hardware device types for MGPIR register
    mlxsw: spectrum_router: Clear offload indication from IPv6 nexthops on abort
    selftests: mlxsw: Add test cases for local table route replacement
    mlxsw: spectrum_router: Prevent incorrect replacement of local table routes
    net: dsa: microchip: enable module autoprobe
    ipv6/addrconf: fix potential NULL deref in inet6_set_link_af()
    dpaa_eth: support all modes with rate adapting PHYs
    net: stmmac: update pci platform data to use phy_interface
    net: stmmac: xgmac: fix missing IFF_MULTICAST checki in dwxgmac2_set_filter
    net: stmmac: fix missing IFF_MULTICAST check in dwmac4_set_filter
    ...

    Linus Torvalds
     

08 Feb, 2020

4 commits

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2020-02-07

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

    We've added 15 non-merge commits during the last 10 day(s) which contain
    a total of 12 files changed, 114 insertions(+), 31 deletions(-).

    The main changes are:

    1) Various BPF sockmap fixes related to RCU handling in the map's tear-
    down code, from Jakub Sitnicki.

    2) Fix macro state explosion in BPF sk_storage map when calculating its
    bucket_log on allocation, from Martin KaFai Lau.

    3) Fix potential BPF sockmap update race by rechecking socket's established
    state under lock, from Lorenz Bauer.

    4) Fix crash in bpftool on missing xlated instructions when kptr_restrict
    sysctl is set, from Toke Høiland-Jørgensen.

    5) Fix i40e's XSK wakeup code to return proper error in busy state and
    various misc fixes in xdpsock BPF sample code, from Maciej Fijalkowski.

    6) Fix the way modifiers are skipped in BTF in the verifier while walking
    pointers to avoid program rejection, from Alexei Starovoitov.

    7) Fix Makefile for runqslower BPF tool to i) rebuild on libbpf changes and
    ii) to fix undefined reference linker errors for older gcc version due to
    order of passed gcc parameters, from Yulia Kartseva and Song Liu.

    8) Fix a trampoline_count BPF kselftest warning about missing braces around
    initializer, from Andrii Nakryiko.

    9) Fix up redundant "HAVE" prefix from large INSN limit kernel probe in
    bpftool, from Michal Rostecki.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Commit 7e81a3530206 ("bpf: Sockmap, ensure sock lock held during tear
    down") introduced sleeping issues inside RCU critical sections and while
    holding a spinlock on sockmap/sockhash tear-down. There has to be at least
    one socket in the map for the problem to surface.

    This adds a test that triggers the warnings for broken locking rules. Not a
    fix per se, but rather tooling to verify the accompanying fixes. Run on a
    VM with 1 vCPU to reproduce the warnings.

    Fixes: 7e81a3530206 ("bpf: Sockmap, ensure sock lock held during tear down")
    Signed-off-by: Jakub Sitnicki
    Signed-off-by: Daniel Borkmann
    Acked-by: John Fastabend
    Link: https://lore.kernel.org/bpf/20200206111652.694507-4-jakub@cloudflare.com

    Jakub Sitnicki
     
  • Turns out the xlated program instructions can also be missing if
    kptr_restrict sysctl is set. This means that the previous fix to check the
    jited_prog_insns pointer was insufficient; add another check of the
    xlated_prog_insns pointer as well.

    Fixes: 5b79bcdf0362 ("bpftool: Don't crash on missing jited insns or ksyms")
    Fixes: cae73f233923 ("bpftool: use bpf_program__get_prog_info_linear() in prog.c:do_dump()")
    Signed-off-by: Toke Høiland-Jørgensen
    Signed-off-by: Daniel Borkmann
    Reviewed-by: Quentin Monnet
    Link: https://lore.kernel.org/bpf/20200206102906.112551-1-toke@redhat.com

    Toke Høiland-Jørgensen
     
  • Test that routes in the main table do not replace identical routes in
    the local table and that routes in the local table do replace identical
    routes in the main table.

    Signed-off-by: Ido Schimmel
    Acked-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Ido Schimmel
     

07 Feb, 2020

1 commit

  • Pull more KVM updates from Paolo Bonzini:
    "s390:
    - fix register corruption
    - ENOTSUPP/EOPNOTSUPP mixed
    - reset cleanups/fixes
    - selftests

    x86:
    - Bug fixes and cleanups
    - AMD support for APIC virtualization even in combination with
    in-kernel PIT or IOAPIC.

    MIPS:
    - Compilation fix.

    Generic:
    - Fix refcount overflow for zero page"

    * tag 'kvm-5.6-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (42 commits)
    KVM: vmx: delete meaningless vmx_decache_cr0_guest_bits() declaration
    KVM: x86: Mark CR4.UMIP as reserved based on associated CPUID bit
    x86: vmxfeatures: rename features for consistency with KVM and manual
    KVM: SVM: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses
    KVM: x86: Fix perfctr WRMSR for running counters
    x86/kvm/hyper-v: don't allow to turn on unsupported VMX controls for nested guests
    x86/kvm/hyper-v: move VMX controls sanitization out of nested_enable_evmcs()
    kvm: mmu: Separate generating and setting mmio ptes
    kvm: mmu: Replace unsigned with unsigned int for PTE access
    KVM: nVMX: Remove stale comment from nested_vmx_load_cr3()
    KVM: MIPS: Fold comparecount_func() into comparecount_wakeup()
    KVM: MIPS: Fix a build error due to referencing not-yet-defined function
    x86/kvm: do not setup pv tlb flush when not paravirtualized
    KVM: fix overflow of zero page refcount with ksm running
    KVM: x86: Take a u64 when checking for a valid dr7 value
    KVM: x86: use raw clock values consistently
    KVM: x86: reorganize pvclock_gtod_data members
    KVM: nVMX: delete meaningless nested_vmx_run() declaration
    KVM: SVM: allow AVIC without split irqchip
    kvm: ioapic: Lazy update IOAPIC EOI
    ...

    Linus Torvalds
     

06 Feb, 2020

4 commits

  • Turns out that when we accept a new subflow, the newly created
    inet_sk(tcp_sk)->pinet6 points at the ipv6_pinfo structure of the
    listener socket.

    This wasn't caught by the selftest because it closes the accepted fd
    before the listening one.

    adding a close(listenfd) after accept returns is enough:
    BUG: KASAN: use-after-free in inet6_getname+0x6ba/0x790
    Read of size 1 at addr ffff88810e310866 by task mptcp_connect/2518
    Call Trace:
    inet6_getname+0x6ba/0x790
    __sys_getpeername+0x10b/0x250
    __x64_sys_getpeername+0x6f/0xb0

    also alter test program to exercise this.

    Reported-by: Christoph Paasch
    Signed-off-by: Florian Westphal
    Signed-off-by: David S. Miller

    Florian Westphal
     
  • Pull tracing updates from Steven Rostedt:

    - Added new "bootconfig".

    This looks for a file appended to initrd to add boot config options,
    and has been discussed thoroughly at Linux Plumbers.

    Very useful for adding kprobes at bootup.

    Only enabled if "bootconfig" is on the real kernel command line.

    - Created dynamic event creation.

    Merges common code between creating synthetic events and kprobe
    events.

    - Rename perf "ring_buffer" structure to "perf_buffer"

    - Rename ftrace "ring_buffer" structure to "trace_buffer"

    Had to rename existing "trace_buffer" to "array_buffer"

    - Allow trace_printk() to work withing (some) tracing code.

    - Sort of tracing configs to be a little better organized

    - Fixed bug where ftrace_graph hash was not being protected properly

    - Various other small fixes and clean ups

    * tag 'trace-v5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (88 commits)
    bootconfig: Show the number of nodes on boot message
    tools/bootconfig: Show the number of bootconfig nodes
    bootconfig: Add more parse error messages
    bootconfig: Use bootconfig instead of boot config
    ftrace: Protect ftrace_graph_hash with ftrace_sync
    ftrace: Add comment to why rcu_dereference_sched() is open coded
    tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu
    tracing: Annotate ftrace_graph_hash pointer with __rcu
    bootconfig: Only load bootconfig if "bootconfig" is on the kernel cmdline
    tracing: Use seq_buf for building dynevent_cmd string
    tracing: Remove useless code in dynevent_arg_pair_add()
    tracing: Remove check_arg() callbacks from dynevent args
    tracing: Consolidate some synth_event_trace code
    tracing: Fix now invalid var_ref_vals assumption in trace action
    tracing: Change trace_boot to use synth_event interface
    tracing: Move tracing selftests to bottom of menu
    tracing: Move mmio tracer config up with the other tracers
    tracing: Move tracing test module configs together
    tracing: Move all function tracing configs together
    tracing: Documentation for in-kernel synthetic event API
    ...

    Linus Torvalds
     
  • Show the number of bootconfig nodes when applying new bootconfig to
    initrd.

    Since there are limitations of bootconfig not only in its filesize,
    but also the number of nodes, the number should be shown when applying
    so that user can get the feeling of scale of current bootconfig.

    Link: http://lkml.kernel.org/r/158091061337.27924.10886706631693823982.stgit@devnote2

    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     
  • Add missing dependency of $(BPFOBJ) to $(LIBBPF_SRC), so that running make
    in runqslower/ will rebuild libbpf.a when there is change in libbpf/.

    Fixes: 9c01546d26d2 ("tools/bpf: Add runqslower tool to tools/bpf")
    Signed-off-by: Song Liu
    Signed-off-by: Daniel Borkmann
    Acked-by: Andrii Nakryiko
    Link: https://lore.kernel.org/bpf/20200204215037.2258698-1-songliubraving@fb.com

    Song Liu
     

05 Feb, 2020

5 commits


04 Feb, 2020

7 commits

  • Pull networking fixes from David Miller:

    1) Use after free in rxrpc_put_local(), from David Howells.

    2) Fix 64-bit division error in mlxsw, from Nathan Chancellor.

    3) Make sure we clear various bits of TCP state in response to
    tcp_disconnect(). From Eric Dumazet.

    4) Fix netlink attribute policy in cls_rsvp, from Eric Dumazet.

    5) txtimer must be deleted in stmmac suspend(), from Nicolin Chen.

    6) Fix TC queue mapping in bnxt_en driver, from Michael Chan.

    7) Various netdevsim fixes from Taehee Yoo (use of uninitialized data,
    snapshot panics, stack out of bounds, etc.)

    8) cls_tcindex changes hash table size after allocating the table, fix
    from Cong Wang.

    9) Fix regression in the enforcement of session ID uniqueness in l2tp.
    We only have to enforce uniqueness for IP based tunnels not UDP
    ones. From Ridge Kennedy.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (46 commits)
    gtp: use __GFP_NOWARN to avoid memalloc warning
    l2tp: Allow duplicate session creation with UDP
    r8152: Add MAC passthrough support to new device
    net_sched: fix an OOB access in cls_tcindex
    qed: Remove set but not used variable 'p_link'
    tc-testing: add missing 'nsPlugin' to basic.json
    tc-testing: fix eBPF tests failure on linux fresh clones
    net: hsr: fix possible NULL deref in hsr_handle_frame()
    netdevsim: remove unused sdev code
    netdevsim: use __GFP_NOWARN to avoid memalloc warning
    netdevsim: use IS_ERR instead of IS_ERR_OR_NULL for debugfs
    netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init()
    netdevsim: fix panic in nsim_dev_take_snapshot_write()
    netdevsim: disable devlink reload when resources are being used
    netdevsim: fix using uninitialized resources
    bnxt_en: Fix TC queue mapping.
    bnxt_en: Fix logic that disables Bus Master during firmware reset.
    bnxt_en: Fix RDMA driver failure with SRIOV after firmware reset.
    bnxt_en: Refactor logic to re-enable SRIOV after firmware reset detected.
    net: stmmac: Delete txtimer in suspend()
    ...

    Linus Torvalds
     
  • Pull powerpc updates from Michael Ellerman:
    "A pretty small batch for us, and apologies for it being a bit late, I
    wanted to sneak Christophe's user_access_begin() series in.

    Summary:

    - Implement user_access_begin() and friends for our platforms that
    support controlling kernel access to userspace.

    - Enable CONFIG_VMAP_STACK on 32-bit Book3S and 8xx.

    - Some tweaks to our pseries IOMMU code to allow SVMs ("secure"
    virtual machines) to use the IOMMU.

    - Add support for CLOCK_{REALTIME/MONOTONIC}_COARSE to the 32-bit
    VDSO, and some other improvements.

    - A series to use the PCI hotplug framework to control opencapi
    card's so that they can be reset and re-read after flashing a new
    FPGA image.

    As well as other minor fixes and improvements as usual.

    Thanks to: Alastair D'Silva, Alexandre Ghiti, Alexey Kardashevskiy,
    Andrew Donnellan, Aneesh Kumar K.V, Anju T Sudhakar, Bai Yingjie, Chen
    Zhou, Christophe Leroy, Frederic Barrat, Greg Kurz, Jason A.
    Donenfeld, Joel Stanley, Jordan Niethe, Julia Lawall, Krzysztof
    Kozlowski, Laurent Dufour, Laurentiu Tudor, Linus Walleij, Michael
    Bringmann, Nathan Chancellor, Nicholas Piggin, Nick Desaulniers,
    Oliver O'Halloran, Peter Ujfalusi, Pingfan Liu, Ram Pai, Randy Dunlap,
    Russell Currey, Sam Bobroff, Sebastian Andrzej Siewior, Shawn
    Anastasio, Stephen Rothwell, Steve Best, Sukadev Bhattiprolu, Thiago
    Jung Bauermann, Tyrel Datwyler, Vaibhav Jain"

    * tag 'powerpc-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (131 commits)
    powerpc: configs: Cleanup old Kconfig options
    powerpc/configs/skiroot: Enable some more hardening options
    powerpc/configs/skiroot: Disable xmon default & enable reboot on panic
    powerpc/configs/skiroot: Enable security features
    powerpc/configs/skiroot: Update for symbol movement only
    powerpc/configs/skiroot: Drop default n CONFIG_CRYPTO_ECHAINIV
    powerpc/configs/skiroot: Drop HID_LOGITECH
    powerpc/configs: Drop NET_VENDOR_HP which moved to staging
    powerpc/configs: NET_CADENCE became NET_VENDOR_CADENCE
    powerpc/configs: Drop CONFIG_QLGE which moved to staging
    powerpc: Do not consider weak unresolved symbol relocations as bad
    powerpc/32s: Fix kasan_early_hash_table() for CONFIG_VMAP_STACK
    powerpc: indent to improve Kconfig readability
    powerpc: Provide initial documentation for PAPR hcalls
    powerpc: Implement user_access_save() and user_access_restore()
    powerpc: Implement user_access_begin and friends
    powerpc/32s: Prepare prevent_user_access() for user_access_end()
    powerpc/32s: Drop NULL addr verification
    powerpc/kuap: Fix set direction in allow/prevent_user_access()
    powerpc/32s: Fix bad_kuap_fault()
    ...

    Linus Torvalds
     
  • since tdc tests for cls_basic need $DEV1, use 'nsPlugin' so that the
    following command can be run without errors:

    [root@f31 tc-testing]# ./tdc.py -c basic

    Fixes: 4717b05328ba ("tc-testing: Introduced tdc tests for basic filter")
    Signed-off-by: Davide Caratti
    Signed-off-by: David S. Miller

    Davide Caratti
     
  • when the following command is done on a fresh clone of the kernel tree,

    [root@f31 tc-testing]# ./tdc.py -c bpf

    test cases that need to build the eBPF sample program fail systematically,
    because 'buildebpfPlugin' is unable to install the kernel headers (i.e, the
    'khdr' target fails). Pass the correct environment to 'make', in place of
    ENVIR, to allow running these tests.

    Fixes: 4c2d39bd40c1 ("tc-testing: use a plugin to build eBPF program")
    Signed-off-by: Davide Caratti
    Signed-off-by: David S. Miller

    Davide Caratti
     
  • Introduce BITS_TO_U64, BITS_TO_U32 and BITS_TO_BYTES as they are handy in
    the following patches (BITS_TO_U32 specifically). Reimplement tools/
    version of the macros according to the kernel implementation.

    Also fix indentation for BITS_PER_TYPE definition.

    Link: http://lkml.kernel.org/r/20200102043031.30357-3-yury.norov@gmail.com
    Signed-off-by: Yury Norov
    Reviewed-by: Andy Shevchenko
    Cc: Amritha Nambiar
    Cc: Arnaldo Carvalho de Melo
    Cc: Chris Wilson
    Cc: Kees Cook
    Cc: Matthew Wilcox
    Cc: Miklos Szeredi
    Cc: Rasmus Villemoes
    Cc: Steffen Klassert
    Cc: "Tobin C . Harding"
    Cc: Vineet Gupta
    Cc: Will Deacon
    Cc: Willem de Bruijn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yury Norov
     
  • Fix missing braces compilation warning in trampoline_count test:

    .../prog_tests/trampoline_count.c: In function ‘test_trampoline_count’:
    .../prog_tests/trampoline_count.c:49:9: warning: missing braces around initializer [-Wmissing-braces]
    struct inst inst[MAX_TRAMP_PROGS] = { 0 };
    ^
    .../prog_tests/trampoline_count.c:49:9: warning: (near initialization for ‘inst[0]’) [-Wmissing-braces]

    Fixes: d633d57902a5 ("selftest/bpf: Add test for allowed trampolines count")
    Signed-off-by: Andrii Nakryiko
    Signed-off-by: Daniel Borkmann
    Acked-by: Yonghong Song
    Link: https://lore.kernel.org/bpf/20200202065152.2718142-1-andriin@fb.com

    Andrii Nakryiko
     
  • "HAVE" prefix is already applied by default to feature macros and before
    this change, the large INSN limit macro had the incorrect name with
    double "HAVE".

    Fixes: 2faef64aa6b3 ("bpftool: Add misc section and probe for large INSN limit")
    Signed-off-by: Michal Rostecki
    Signed-off-by: Daniel Borkmann
    Acked-by: Yonghong Song
    Link: https://lore.kernel.org/bpf/20200202110200.31024-1-mrostecki@opensuse.org

    Michal Rostecki
     

03 Feb, 2020

2 commits

  • Pull Hyper-V updates from Sasha Levin:

    - Most of the commits here are work to enable host-initiated
    hibernation support by Dexuan Cui.

    - Fix for a warning shown when host sends non-aligned balloon requests
    by Tianyu Lan.

    * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
    hv_utils: Add the support of hibernation
    hv_utils: Support host-initiated hibernation request
    hv_utils: Support host-initiated restart request
    Tools: hv: Reopen the devices if read() or write() returns errors
    video: hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs.
    Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23)
    video: hyperv_fb: Fix hibernation for the deferred IO feature
    Input: hyperv-keyboard: Add the support of hibernation
    hv_balloon: Balloon up according to request page number

    Linus Torvalds
     
  • This commit adds a test for FIN_ACK process races related reconnection
    latency spike issues. The issue has described and solved by the
    previous commit ("tcp: Reduce SYN resend delay if a suspicous ACK is
    received").

    The test program is configured with a server and a client process. The
    server creates and binds a socket to a port that dynamically allocated,
    listen on it, and start a infinite loop. Inside the loop, it accepts
    connection, reads 4 bytes from the socket, and closes the connection.
    The client is constructed as an infinite loop. Inside the loop, it
    creates a socket with LINGER and NODELAY option, connect to the server,
    send 4 bytes data, try read some data from server. After the read()
    returns, it measure the latency from the beginning of this loop to this
    point and if the latency is larger than 1 second (spike), print a
    message.

    Reviewed-by: Eric Dumazet
    Signed-off-by: SeongJae Park
    Signed-off-by: Jakub Kicinski

    SeongJae Park
     

01 Feb, 2020

7 commits

  • Merge the user_access_begin() series from Christophe. This is based on
    a commit from Linus that went into v5.5-rc7.

    Michael Ellerman
     
  • Pull more power manadement updates from Rafael Wysocki:
    "Prevent cpufreq from creating excessively large stack frames and fix
    the handling of devices deleted during system-wide resume in the PM
    core (Rafael Wysocki), revert a problematic commit affecting the
    cpupower utility and correct its man page (Thomas Renninger,
    Brahadambal Srinivasan), and improve the intel_pstate_tracer utility
    (Doug Smythies)"

    * tag 'pm-5.6-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    tools/power/x86/intel_pstate_tracer: change several graphs to autoscale y-axis
    tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility
    Correction to manpage of cpupower
    cpufreq: Avoid creating excessively large stack frames
    PM: core: Fix handling of devices deleted during system-wide resume
    cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e

    Linus Torvalds
     
  • Pull updates from Andrew Morton:
    "Most of -mm and quite a number of other subsystems: hotfixes, scripts,
    ocfs2, misc, lib, binfmt, init, reiserfs, exec, dma-mapping, kcov.

    MM is fairly quiet this time. Holidays, I assume"

    * emailed patches from Andrew Morton : (118 commits)
    kcov: ignore fault-inject and stacktrace
    include/linux/io-mapping.h-mapping: use PHYS_PFN() macro in io_mapping_map_atomic_wc()
    execve: warn if process starts with executable stack
    reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
    init/main.c: fix misleading "This architecture does not have kernel memory protection" message
    init/main.c: fix quoted value handling in unknown_bootoption
    init/main.c: remove unnecessary repair_env_string in do_initcall_level
    init/main.c: log arguments and environment passed to init
    fs/binfmt_elf.c: coredump: allow process with empty address space to coredump
    fs/binfmt_elf.c: coredump: delete duplicated overflow check
    fs/binfmt_elf.c: coredump: allocate core ELF header on stack
    fs/binfmt_elf.c: make BAD_ADDR() unlikely
    fs/binfmt_elf.c: better codegen around current->mm
    fs/binfmt_elf.c: don't copy ELF header around
    fs/binfmt_elf.c: fix ->start_code calculation
    fs/binfmt_elf.c: smaller code generation around auxv vector fill
    lib/find_bit.c: uninline helper _find_next_bit()
    lib/find_bit.c: join _find_next_bit{_le}
    uapi: rename ext2_swab() to swab() and share globally in swab.h
    lib/scatterlist.c: adjust indentation in __sg_alloc_table
    ...

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

    - three fixes and a cleanup for the resctrl code

    - a HyperV fix

    - a fix to /proc/kcore contents in live debugging sessions

    - a fix for the x86 decoder opcode map"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/decoder: Add TEST opcode to Group3-2
    x86/resctrl: Clean up unused function parameter in mkdir path
    x86/resctrl: Fix a deadlock due to inaccurate reference
    x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup
    x86/resctrl: Fix use-after-free when deleting resource groups
    x86/hyper-v: Add "polling" bit to hv_synic_sint
    x86/crash: Define arch_crash_save_vmcoreinfo() if CONFIG_CRASH_CORE=y

    Linus Torvalds
     
  • The sysfs file name for enabling sanity checking is called
    'sanity_checks' and not 'sanity'.

    The name of the file has never changed since the introduction of the
    slub allocator. Obviously, most people turn the checks on via the
    command line option and not during runtime using slabinfo.

    Link: http://lkml.kernel.org/r/20200116131642.642-1-dwagner@suse.de
    Signed-off-by: Daniel Wagner
    Reviewed-by: Andrew Morton
    Cc: "Tobin C. Harding"
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Wagner
     
  • Fix the gup benchmark flags to use the symbolic FOLL_WRITE, instead of a
    hard-coded "1" value.

    Also, clean up the filtering of gup flags a little, by just doing it
    once before issuing any of the get_user_pages*() calls. This makes it
    harder to overlook, instead of having little "gup_flags & 1" phrases in
    the function calls.

    Link: http://lkml.kernel.org/r/20200107224558.2362728-22-jhubbard@nvidia.com
    Signed-off-by: John Hubbard
    Reviewed-by: Ira Weiny
    Cc: Alex Williamson
    Cc: Aneesh Kumar K.V
    Cc: Björn Töpel
    Cc: Christoph Hellwig
    Cc: Daniel Vetter
    Cc: Dan Williams
    Cc: Hans Verkuil
    Cc: Jan Kara
    Cc: Jason Gunthorpe
    Cc: Jason Gunthorpe
    Cc: Jens Axboe
    Cc: Jerome Glisse
    Cc: Jonathan Corbet
    Cc: Kirill A. Shutemov
    Cc: Leon Romanovsky
    Cc: Mauro Carvalho Chehab
    Cc: Mike Rapoport
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John Hubbard
     
  • Pull KVM updates from Paolo Bonzini:
    "This is the first batch of KVM changes.

    ARM:
    - cleanups and corner case fixes.

    PPC:
    - Bugfixes

    x86:
    - Support for mapping DAX areas with large nested page table entries.

    - Cleanups and bugfixes here too. A particularly important one is a
    fix for FPU load when the thread has TIF_NEED_FPU_LOAD. There is
    also a race condition which could be used in guest userspace to
    exploit the guest kernel, for which the embargo expired today.

    - Fast path for IPI delivery vmexits, shaving about 200 clock cycles
    from IPI latency.

    - Protect against "Spectre-v1/L1TF" (bring data in the cache via
    speculative out of bound accesses, use L1TF on the sibling
    hyperthread to read it), which unfortunately is an even bigger
    whack-a-mole game than SpectreV1.

    Sean continues his mission to rewrite KVM. In addition to a sizable
    number of x86 patches, this time he contributed a pretty large
    refactoring of vCPU creation that affects all architectures but should
    not have any visible effect.

    s390 will come next week together with some more x86 patches"

    * tag 'kvm-5.6-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (204 commits)
    x86/KVM: Clean up host's steal time structure
    x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed
    x86/kvm: Cache gfn to pfn translation
    x86/kvm: Introduce kvm_(un)map_gfn()
    x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit
    KVM: PPC: Book3S PR: Fix -Werror=return-type build failure
    KVM: PPC: Book3S HV: Release lock on page-out failure path
    KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer
    KVM: arm64: pmu: Only handle supported event counters
    KVM: arm64: pmu: Fix chained SW_INCR counters
    KVM: arm64: pmu: Don't mark a counter as chained if the odd one is disabled
    KVM: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset
    KVM: x86: Use a typedef for fastop functions
    KVM: X86: Add 'else' to unify fastop and execute call path
    KVM: x86: inline memslot_valid_for_gpte
    KVM: x86/mmu: Use huge pages for DAX-backed files
    KVM: x86/mmu: Remove lpage_is_disallowed() check from set_spte()
    KVM: x86/mmu: Fold max_mapping_level() into kvm_mmu_hugepage_adjust()
    KVM: x86/mmu: Zap any compound page when collapsing sptes
    KVM: x86/mmu: Remove obsolete gfn restoration in FNAME(fetch)
    ...

    Linus Torvalds
     

31 Jan, 2020

1 commit

  • Local IRQs are reset by a normal cpu reset. The initial cpu reset and
    the clear cpu reset, as superset of the normal reset, both clear the
    IRQs too.

    Let's inject an interrupt to a vCPU before calling a reset and see if
    it is gone after the reset.

    We choose to inject only an emergency interrupt at this point and can
    extend the test to other types of IRQs later.

    Signed-off-by: Pierre Morel
    Signed-off-by: Janosch Frank
    [minor fixups]
    Reviewed-by: Cornelia Huck
    Reviewed-by: Thomas Huth
    Link: https://lore.kernel.org/r/20200131100205.74720-7-frankja@linux.ibm.com
    Signed-off-by: Christian Borntraeger

    Pierre Morel