Skip to content
  1. Jul 16, 2021
  2. Jul 15, 2021
  3. Jul 13, 2021
    • Martynas Pumputis's avatar
      libbpf: Fix reuse of pinned map on older kernel · 97eb3138
      Martynas Pumputis authored
      
      
      When loading a BPF program with a pinned map, the loader checks whether
      the pinned map can be reused, i.e. their properties match. To derive
      such of the pinned map, the loader invokes BPF_OBJ_GET_INFO_BY_FD and
      then does the comparison.
      
      Unfortunately, on < 4.12 kernels the BPF_OBJ_GET_INFO_BY_FD is not
      available, so loading the program fails with the following error:
      
      	libbpf: failed to get map info for map FD 5: Invalid argument
      	libbpf: couldn't reuse pinned map at
      		'/sys/fs/bpf/tc/globals/cilium_call_policy': parameter
      		mismatch"
      	libbpf: map 'cilium_call_policy': error reusing pinned map
      	libbpf: map 'cilium_call_policy': failed to create:
      		Invalid argument(-22)
      	libbpf: failed to load object 'bpf_overlay.o'
      
      To fix this, fallback to derivation of the map properties via
      /proc/$PID/fdinfo/$MAP_FD if BPF_OBJ_GET_INFO_BY_FD fails with EINVAL,
      which can be used as an indicator that the kernel doesn't support
      the latter.
      
      Signed-off-by: default avatarMartynas Pumputis <m@lambda.lt>
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Link: https://lore.kernel.org/bpf/20210712125552.58705-1-m@lambda.lt
      97eb3138
  4. Jul 08, 2021
  5. Jul 02, 2021
  6. Jul 01, 2021
    • Linus Torvalds's avatar
      Merge tag 'net-next-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · dbe69e43
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core:
      
         - BPF:
            - add syscall program type and libbpf support for generating
              instructions and bindings for in-kernel BPF loaders (BPF loaders
              for BPF), this is a stepping stone for signed BPF programs
            - infrastructure to migrate TCP child sockets from one listener to
              another in the same reuseport group/map to improve flexibility
              of service hand-off/restart
            - add broadcast support to XDP redirect
      
         - allow bypass of the lockless qdisc to improving performance (for
           pktgen: +23% with one thread, +44% with 2 threads)
      
         - add a simpler version of "DO_ONCE()" which does not require jump
           labels, intended for slow-path usage
      
         - virtio/vsock: introduce SOCK_SEQPACKET support
      
         - add getsocketopt to retrieve netns cookie
      
         - ip: treat lowest address of a IPv4 subnet as ordinary unicast
           address allowing reclaiming of precious IPv4 addresses
      
         - ipv6: use prandom_u32() for ID generation
      
         - ip: add support for more flexible field selection for hashing
           across multi-path routes (w/ offload to mlxsw)
      
         - icmp: add support for extended RFC 8335 PROBE (ping)
      
         - seg6: add support for SRv6 End.DT46 behavior
      
         - mptcp:
            - DSS checksum support (RFC 8684) to detect middlebox meddling
            - support Connection-time 'C' flag
            - time stamping support
      
         - sctp: packetization Layer Path MTU Discovery (RFC 8899)
      
         - xfrm: speed up state addition with seq set
      
         - WiFi:
            - hidden AP discovery on 6 GHz and other HE 6 GHz improvements
            - aggregation handling improvements for some drivers
            - minstrel improvements for no-ack frames
            - deferred rate control for TXQs to improve reaction times
            - switch from round robin to virtual time-based airtime scheduler
      
         - add trace points:
            - tcp checksum errors
            - openvswitch - action execution, upcalls
            - socket errors via sk_error_report
      
        Device APIs:
      
         - devlink: add rate API for hierarchical control of max egress rate
           of virtual devices (VFs, SFs etc.)
      
         - don't require RCU read lock to be held around BPF hooks in NAPI
           context
      
         - page_pool: generic buffer recycling
      
        New hardware/drivers:
      
         - mobile:
            - iosm: PCIe Driver for Intel M.2 Modem
            - support for Qualcomm MSM8998 (ipa)
      
         - WiFi: Qualcomm QCN9074 and WCN6855 PCI devices
      
         - sparx5: Microchip SparX-5 family of Enterprise Ethernet switches
      
         - Mellanox BlueField Gigabit Ethernet (control NIC of the DPU)
      
         - NXP SJA1110 Automotive Ethernet 10-port switch
      
         - Qualcomm QCA8327 switch support (qca8k)
      
         - Mikrotik 10/25G NIC (atl1c)
      
        Driver changes:
      
         - ACPI support for some MDIO, MAC and PHY devices from Marvell and
           NXP (our first foray into MAC/PHY description via ACPI)
      
         - HW timestamping (PTP) support: bnxt_en, ice, sja1105, hns3, tja11xx
      
         - Mellanox/Nvidia NIC (mlx5)
            - NIC VF offload of L2 bridging
            - support IRQ distribution to Sub-functions
      
         - Marvell (prestera):
            - add flower and match all
            - devlink trap
            - link aggregation
      
         - Netronome (nfp): connection tracking offload
      
         - Intel 1GE (igc): add AF_XDP support
      
         - Marvell DPU (octeontx2): ingress ratelimit offload
      
         - Google vNIC (gve): new ring/descriptor format support
      
         - Qualcomm mobile (rmnet & ipa): inline checksum offload support
      
         - MediaTek WiFi (mt76)
            - mt7915 MSI support
            - mt7915 Tx status reporting
            - mt7915 thermal sensors support
            - mt7921 decapsulation offload
            - mt7921 enable runtime pm and deep sleep
      
         - Realtek WiFi (rtw88)
            - beacon filter support
            - Tx antenna path diversity support
            - firmware crash information via devcoredump
      
         - Qualcomm WiFi (wcn36xx)
            - Wake-on-WLAN support with magic packets and GTK rekeying
      
         - Micrel PHY (ksz886x/ksz8081): add cable test support"
      
      * tag 'net-next-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2168 commits)
        tcp: change ICSK_CA_PRIV_SIZE definition
        tcp_yeah: check struct yeah size at compile time
        gve: DQO: Fix off by one in gve_rx_dqo()
        stmmac: intel: set PCI_D3hot in suspend
        stmmac: intel: Enable PHY WOL option in EHL
        net: stmmac: option to enable PHY WOL with PMT enabled
        net: say "local" instead of "static" addresses in ndo_dflt_fdb_{add,del}
        net: use netdev_info in ndo_dflt_fdb_{add,del}
        ptp: Set lookup cookie when creating a PTP PPS source.
        net: sock: add trace for socket errors
        net: sock: introduce sk_error_report
        net: dsa: replay the local bridge FDB entries pointing to the bridge dev too
        net: dsa: ensure during dsa_fdb_offload_notify that dev_hold and dev_put are on the same dev
        net: dsa: include fdb entries pointing to bridge in the host fdb list
        net: dsa: include bridge addresses which are local in the host fdb list
        net: dsa: sync static FDB entries on foreign interfaces to hardware
        net: dsa: install the host MDB and FDB entries in the master's RX filter
        net: dsa: reference count the FDB addresses at the cross-chip notifier level
        net: dsa: introduce a separate cross-chip notifier type for host FDBs
        net: dsa: reference count the MDB entries at the cross-chip notifier level
        ...
      dbe69e43
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2021-06-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a6eaf385
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
      
       - Fix a small inconsistency (bug) in load tracking, caught by a new
         warning that several people reported.
      
       - Flip CONFIG_SCHED_CORE to default-disabled, and update the Kconfig
         help text.
      
      * tag 'sched-urgent-2021-06-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/core: Disable CONFIG_SCHED_CORE by default
        sched/fair: Ensure _sum and _avg values stay consistent
      a6eaf385
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v5.14' of git://git.monstr.eu/linux-2.6-microblaze · f4cc74c9
      Linus Torvalds authored
      Pull microblaze updates from Michal Simek:
      
       - Remove unused PAGE_UP/DOWN macros
      
       - Fix trivial spelling mistake
      
      * tag 'microblaze-v5.14' of git://git.monstr.eu/linux-2.6-microblaze:
        arch: microblaze: Fix spelling mistake "vesion" -> "version"
        microblaze: Cleanup unused functions
      f4cc74c9
    • Linus Torvalds's avatar
      Merge tag 'safesetid-5.14' of git://github.com/micah-morton/linux · 92183137
      Linus Torvalds authored
      Pull SafeSetID update from Micah Morton:
       "One very minor code cleanup change that marks a variable as
        __initdata"
      
      * tag 'safesetid-5.14' of git://github.com/micah-morton/linux:
        LSM: SafeSetID: Mark safesetid_initialized as __initdata
      92183137
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-5.14' of git://github.com/cschaufler/smack-next · 5c874a5b
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
       "There is nothing more significant than an improvement to a byte count
        check in smackfs.
      
        All changes have been in next for weeks"
      
      * tag 'Smack-for-5.14' of git://github.com/cschaufler/smack-next:
        Smack: fix doc warning
        Revert "Smack: Handle io_uring kernel thread privileges"
        smackfs: restrict bytes count in smk_set_cipso()
        security/smack/: fix misspellings using codespell tool
      5c874a5b
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20210629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 290fe0fa
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Another merge window, another small audit pull request.
      
        Four patches in total: one is cosmetic, one removes an unnecessary
        initialization, one renames some enum values to prevent name
        collisions, and one converts list_del()/list_add() to list_move().
      
        None of these are earth shattering and all pass the audit-testsuite
        tests while merging cleanly on top of your tree from earlier today"
      
      * tag 'audit-pr-20210629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: remove unnecessary 'ret' initialization
        audit: remove trailing spaces and tabs
        audit: Use list_move instead of list_del/list_add
        audit: Rename enum audit_state constants to avoid AUDIT_DISABLED redefinition
        audit: add blank line after variable declarations
      290fe0fa
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20210629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 6bd344e5
      Linus Torvalds authored
      Pull SELinux updates from Paul Moore:
      
       - The slow_avc_audit() function is now non-blocking so we can remove
         the AVC_NONBLOCKING tricks; this also includes the 'flags' variant of
         avc_has_perm().
      
       - Use kmemdup() instead of kcalloc()+copy when copying parts of the
         SELinux policydb.
      
       - The InfiniBand device name is now passed by reference when possible
         in the SELinux code, removing a strncpy().
      
       - Minor cleanups including: constification of avtab function args,
         removal of useless LSM/XFRM function args, SELinux kdoc fixes, and
         removal of redundant assignments.
      
      * tag 'selinux-pr-20210629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: kill 'flags' argument in avc_has_perm_flags() and avc_audit()
        selinux: slow_avc_audit has become non-blocking
        selinux: Fix kernel-doc
        selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC
        lsm_audit,selinux: pass IB device name by reference
        selinux: Remove redundant assignment to rc
        selinux: Corrected comment to match kernel-doc comment
        selinux: delete selinux_xfrm_policy_lookup() useless argument
        selinux: constify some avtab function arguments
        selinux: simplify duplicate_policydb_cond_list() by using kmemdup()
      6bd344e5