1. 01 Jul, 2021 5 commits
    • Yang Yingliang's avatar
      net/802/garp: fix memleak in garp_request_join() · 42ca63f9
      Yang Yingliang authored
      I got kmemleak report when doing fuzz test:
      
      BUG: memory leak
      unreferenced object 0xffff88810c909b80 (size 64):
        comm "syz", pid 957, jiffies 4295220394 (age 399.090s)
        hex dump (first 32 bytes):
          01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
          00 00 00 00 00 00 00 00 08 00 00 00 01 02 00 04  ................
        backtrace:
          [<00000000ca1f2e2e>] garp_request_join+0x285/0x3d0
          [<00000000bf153351>] vlan_gvrp_request_join+0x15b/0x190
          [<0000000024005e72>] vlan_dev_open+0x706/0x980
          [<00000000dc20c4d4>] __dev_open+0x2bb/0x460
          [<0000000066573004>] __dev_change_flags+0x501/0x650
          [<0000000035b42f83>] rtnl_configure_link+0xee/0x280
          [<00000000a5e69de0>] __rtnl_newlink+0xed5/0x1550
          [<00000000a5258f4a>] rtnl_newlink+0x66/0x90
          [<00000000506568ee>] rtnetlink_rcv_msg+0x439/0xbd0
          [<00000000b7eaeae1>] netlink_rcv_skb+0x14d/0x420
          [<00000000c373ce66>] netlink_unicast+0x550/0x750
          [<00000000ec74ce74>] netlink_sendmsg+0x88b/0xda0
          [<00000000381ff246>] sock_sendmsg+0xc9/0x120
          [<000000008f6a2db3>] ____sys_sendmsg+0x6e8/0x820
          [<000000008d9c1735>] ___sys_sendmsg+0x145/0x1c0
          [<00000000aa39dd8b>] __sys_sendmsg+0xfe/0x1d0
      
      Calling garp_request_leave() after garp_request_join(), the attr->state
      is set to GARP_APPLICANT_VO, garp_attr_destroy() won't be called in last
      transmit event in garp_uninit_applicant(), the attr of applicant will be
      leaked. To fix this leak, iterate and free each attr of applicant before
      rerturning from garp_uninit_applicant().
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42ca63f9
    • Dan Carpenter's avatar
      sctp: prevent info leak in sctp_make_heartbeat() · a34dcbfa
      Dan Carpenter authored
      The "hbinfo" struct has a 4 byte hole at the end so we have to zero it
      out to prevent stack information from being disclosed.
      
      Fixes: fe59379b ("sctp: do the basic send and recv for PLPMTUD probe")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a34dcbfa
    • Yang Yingliang's avatar
      net/802/mrp: fix memleak in mrp_request_join() · 996af621
      Yang Yingliang authored
      I got kmemleak report when doing fuzz test:
      
      BUG: memory leak
      unreferenced object 0xffff88810c239500 (size 64):
      comm "syz-executor940", pid 882, jiffies 4294712870 (age 14.631s)
      hex dump (first 32 bytes):
      01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
      00 00 00 00 00 00 00 00 01 00 00 00 01 02 00 04 ................
      backtrace:
      [<00000000a323afa4>] slab_alloc_node mm/slub.c:2972 [inline]
      [<00000000a323afa4>] slab_alloc mm/slub.c:2980 [inline]
      [<00000000a323afa4>] __kmalloc+0x167/0x340 mm/slub.c:4130
      [<000000005034ca11>] kmalloc include/linux/slab.h:595 [inline]
      [<000000005034ca11>] mrp_attr_create net/802/mrp.c:276 [inline]
      [<000000005034ca11>] mrp_request_join+0x265/0x550 net/802/mrp.c:530
      [<00000000fcfd81f3>] vlan_mvrp_request_join+0x145/0x170 net/8021q/vlan_mvrp.c:40
      [<000000009258546e>] vlan_dev_open+0x477/0x890 net/8021q/vlan_dev.c:292
      [<0000000059acd82b>] __dev_open+0x281/0x410 net/core/dev.c:1609
      [<000000004e6dc695>] __dev_change_flags+0x424/0x560 net/core/dev.c:8767
      [<00000000471a09af>] rtnl_configure_link+0xd9/0x210 net/core/rtnetlink.c:3122
      [<0000000037a4672b>] __rtnl_newlink+0xe08/0x13e0 net/core/rtnetlink.c:3448
      [<000000008d5d0fda>] rtnl_newlink+0x64/0xa0 net/core/rtnetlink.c:3488
      [<000000004882fe39>] rtnetlink_rcv_msg+0x369/0xa10 net/core/rtnetlink.c:5552
      [<00000000907e6c54>] netlink_rcv_skb+0x134/0x3d0 net/netlink/af_netlink.c:2504
      [<00000000e7d7a8c4>] netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline]
      [<00000000e7d7a8c4>] netlink_unicast+0x4a0/0x6a0 net/netlink/af_netlink.c:1340
      [<00000000e0645d50>] netlink_sendmsg+0x78e/0xc90 net/netlink/af_netlink.c:1929
      [<00000000c24559b7>] sock_sendmsg_nosec net/socket.c:654 [inline]
      [<00000000c24559b7>] sock_sendmsg+0x139/0x170 net/socket.c:674
      [<00000000fc210bc2>] ____sys_sendmsg+0x658/0x7d0 net/socket.c:2350
      [<00000000be4577b5>] ___sys_sendmsg+0xf8/0x170 net/socket.c:2404
      
      Calling mrp_request_leave() after mrp_request_join(), the attr->state
      is set to MRP_APPLICANT_VO, mrp_attr_destroy() won't be called in last
      TX event in mrp_uninit_applicant(), the attr of applicant will be leaked.
      To fix this leak, iterate and free each attr of applicant before rerturning
      from mrp_uninit_applicant().
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      996af621
    • Baowen Zheng's avatar
      openvswitch: Optimize operation for key comparison · b1811447
      Baowen Zheng authored
      In the current implement when comparing two flow keys, we will return
      result after comparing the whole key from start to end.
      
      In our optimization, we will return result in the first none-zero
      comparison, then we will improve the flow table looking up efficiency.
      Signed-off-by: default avatarBaowen Zheng <baowen.zheng@corigine.com>
      Signed-off-by: default avatarLouis Peens <louis.peens@corigine.com>
      Signed-off-by: default avatarSimon Horman <simon.horman@corigine.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b1811447
    • Oleksij Rempel's avatar
      net: usb: asix: ax88772: suspend PHY on driver probe · a3609ac2
      Oleksij Rempel authored
      After probe/bind sequence is the PHY in active state, even if interface
      is stopped. As result, on some systems like Samsung Exynos5250 SoC based Arndale
      board, the ASIX PHY will be able to negotiate the link but fail to
      transmit the data.
      
      To handle it, suspend the PHY on probe.
      
      Fixes: e532a096 ("net: usb: asix: ax88772: add phylib support")
      Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
      Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a3609ac2
  2. 30 Jun, 2021 29 commits
    • 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
    • Linus Torvalds's avatar
      Merge tag 'clang-features-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 44b6ed4c
      Linus Torvalds authored
      Pull clang feature updates from Kees Cook:
      
       - Add CC_HAS_NO_PROFILE_FN_ATTR in preparation for PGO support in the
         face of the noinstr attribute, paving the way for PGO and fixing
         GCOV. (Nick Desaulniers)
      
       - x86_64 LTO coverage is expanded to 32-bit x86. (Nathan Chancellor)
      
       - Small fixes to CFI. (Mark Rutland, Nathan Chancellor)
      
      * tag 'clang-features-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
        Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR
        compiler_attributes.h: cleanups for GCC 4.9+
        compiler_attributes.h: define __no_profile, add to noinstr
        x86, lto: Enable Clang LTO for 32-bit as well
        CFI: Move function_nocfi() into compiler.h
        MAINTAINERS: Add Clang CFI section
      44b6ed4c
    • Linus Torvalds's avatar
      Merge tag 'for-5.14/drivers-2021-06-29' of git://git.kernel.dk/linux-block · 44046219
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "Pretty calm round, mostly just NVMe and a bit of MD:
      
         - NVMe updates (via Christoph)
              - improve the APST configuration algorithm (Alexey Bogoslavsky)
              - look for StorageD3Enable on companion ACPI device
                (Mario Limonciello)
              - allow selecting the network interface for TCP connections
                (Martin Belanger)
              - misc cleanups (Amit Engel, Chaitanya Kulkarni, Colin Ian King,
                Christoph)
              - move the ACPI StorageD3 code to drivers/acpi/ and add quirks
                for certain AMD CPUs (Mario Limonciello)
              - zoned device support for nvmet (Chaitanya Kulkarni)
              - fix the rules for changing the serial number in nvmet
                (Noam Gottlieb)
              - various small fixes and cleanups (Dan Carpenter, JK Kim,
                Chaitanya Kulkarni, Hannes Reinecke, Wesley Sheng, Geert
                Uytterhoeven, Daniel Wagner)
      
         - MD updates (Via Song)
              - iostats rewrite (Guoqing Jiang)
              - raid5 lock contention optimization (Gal Ofri)
      
         - Fall through warning fix (Gustavo)
      
         - Misc fixes (Gustavo, Jiapeng)"
      
      * tag 'for-5.14/drivers-2021-06-29' of git://git.kernel.dk/linux-block: (78 commits)
        nvmet: use NVMET_MAX_NAMESPACES to set nn value
        loop: Fix missing discard support when using LOOP_CONFIGURE
        nvme.h: add missing nvme_lba_range_type endianness annotations
        nvme: remove zeroout memset call for struct
        nvme-pci: remove zeroout memset call for struct
        nvmet: remove zeroout memset call for struct
        nvmet: add ZBD over ZNS backend support
        nvmet: add Command Set Identifier support
        nvmet: add nvmet_req_bio put helper for backends
        nvmet: add req cns error complete helper
        block: export blk_next_bio()
        nvmet: remove local variable
        nvmet: use nvme status value directly
        nvmet: use u32 type for the local variable nsid
        nvmet: use u32 for nvmet_subsys max_nsid
        nvmet: use req->cmd directly in file-ns fast path
        nvmet: use req->cmd directly in bdev-ns fast path
        nvmet: make ver stable once connection established
        nvmet: allow mn change if subsys not discovered
        nvmet: make sn stable once connection was established
        ...
      44046219
    • Linus Torvalds's avatar
      Merge tag 'for-5.14/block-2021-06-29' of git://git.kernel.dk/linux-block · df668a5f
      Linus Torvalds authored
      Pull core block updates from Jens Axboe:
      
       - disk events cleanup (Christoph)
      
       - gendisk and request queue allocation simplifications (Christoph)
      
       - bdev_disk_changed cleanups (Christoph)
      
       - IO priority improvements (Bart)
      
       - Chained bio completion trace fix (Edward)
      
       - blk-wbt fixes (Jan)
      
       - blk-wbt enable/disable fix (Zhang)
      
       - Scheduler dispatch improvements (Jan, Ming)
      
       - Shared tagset scheduler improvements (John)
      
       - BFQ updates (Paolo, Luca, Pietro)
      
       - BFQ lock inversion fix (Jan)
      
       - Documentation improvements (Kir)
      
       - CLONE_IO block cgroup fix (Tejun)
      
       - Remove of ancient and deprecated block dump feature (zhangyi)
      
       - Discard merge fix (Ming)
      
       - Misc fixes or followup fixes (Colin, Damien, Dan, Long, Max, Thomas,
         Yang)
      
      * tag 'for-5.14/block-2021-06-29' of git://git.kernel.dk/linux-block: (129 commits)
        block: fix discard request merge
        block/mq-deadline: Remove a WARN_ON_ONCE() call
        blk-mq: update hctx->dispatch_busy in case of real scheduler
        blk: Fix lock inversion between ioc lock and bfqd lock
        bfq: Remove merged request already in bfq_requests_merged()
        block: pass a gendisk to bdev_disk_changed
        block: move bdev_disk_changed
        block: add the events* attributes to disk_attrs
        block: move the disk events code to a separate file
        block: fix trace completion for chained bio
        block/partitions/msdos: Fix typo inidicator -> indicator
        block, bfq: reset waker pointer with shared queues
        block, bfq: check waker only for queues with no in-flight I/O
        block, bfq: avoid delayed merge of async queues
        block, bfq: boost throughput by extending queue-merging times
        block, bfq: consider also creation time in delayed stable merge
        block, bfq: fix delayed stable merge check
        block, bfq: let also stably merged queues enjoy weight raising
        blk-wbt: make sure throttle is enabled properly
        blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
        ...
      df668a5f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · df04fbe8
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - patch series that ensures that hid-multitouch driver disables touch
         and button-press reporting on hid-mt devices during suspend when the
         device is not configured as a wakeup-source, from Hans de Goede
      
       - support for ISH DMA on Intel EHL platform, from Even Xu
      
       - support for Renoir and Cezanne SoCs, Ambient Light Sensor and Human
         Presence Detection sensor for amd-sfh driver, from Basavaraj Natikar
      
       - other assorted code cleanups and device-specific fixes/quirks
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (45 commits)
        HID: thrustmaster: Switch to kmemdup() when allocate change_request
        HID: multitouch: Disable event reporting on suspend when the device is not a wakeup-source
        HID: logitech-dj: Implement may_wakeup ll-driver callback
        HID: usbhid: Implement may_wakeup ll-driver callback
        HID: core: Add hid_hw_may_wakeup() function
        HID: input: Add support for Programmable Buttons
        HID: wacom: Correct base usage for capacitive ExpressKey status bits
        HID: amd_sfh: Add initial support for HPD sensor
        HID: amd_sfh: Extend ALS support for newer AMD platform
        HID: amd_sfh: Extend driver capabilities for multi-generation support
        HID: surface-hid: Fix get-report request
        HID: sony: fix freeze when inserting ghlive ps3/wii dongles
        HID: usbkbd: Avoid GFP_ATOMIC when GFP_KERNEL is possible
        HID: amd_sfh: change in maintainer
        HID: intel-ish-hid: ipc: Specify that EHL no cache snooping
        HID: intel-ish-hid: ishtp: Add dma_no_cache_snooping() callback
        HID: intel-ish-hid: Set ISH driver depends on x86
        HID: hid-input: add Surface Go battery quirk
        HID: intel-ish-hid: Fix minor typos in comments
        HID: usbmouse: Avoid GFP_ATOMIC when GFP_KERNEL is possible
        ...
      df04fbe8
    • Linus Torvalds's avatar
      Merge tag 'edac_updates_for_v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 4b5e35ce
      Linus Torvalds authored
      Pull EDAC updates from Tony Luck:
       "Various fixes and support for new CPUs:
      
         - Clean up error messages from thunderx_edac
      
         - Add MODULE_DEVICE_TABLE to ti_edac so it will autoload
      
         - Use %pR to print resources in aspeed_edac
      
         - Add Yazen Ghannam as MAINTAINER for AMD edac drivers
      
         - Fix Ice Lake and Sapphire Rapids drivers to report correct "near"
           or "far" device for errors in 2LM configurations
      
         - Add support of on package high bandwidth memory in Sapphire Rapids
      
         - New CPU support for three CPUs supporting in-band ECC (IOT SKUs for
           ICL-NNPI, Tiger Lake and Alder Lake)
      
         - Don't even try to load Intel EDAC drivers when running as a guest
      
         - Fix Kconfig dependency on X86_MCE_INTEL for EDAC_IGEN6"
      
      * tag 'edac_updates_for_v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/igen6: fix core dependency
        EDAC/Intel: Do not load EDAC driver when running as a guest
        EDAC/igen6: Add Intel Alder Lake SoC support
        EDAC/igen6: Add Intel Tiger Lake SoC support
        EDAC/igen6: Add Intel ICL-NNPI SoC support
        EDAC/i10nm: Add support for high bandwidth memory
        EDAC/i10nm: Add detection of memory levels for ICX/SPR servers
        EDAC/skx_common: Add new ADXL components for 2-level memory
        MAINTAINERS: Make Yazen Ghannam maintainer for EDAC-AMD64
        EDAC/aspeed: Use proper format string for printing resource
        EDAC/ti: Add missing MODULE_DEVICE_TABLE
        EDAC/thunderx: Remove irrelevant variable from error messages
      4b5e35ce
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-v5.14-rc1' of... · e60d726f
      Linus Torvalds authored
      Merge tag 'tpmdd-next-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
      
      Pull tpm driver updates from Jarkko Sakkinen:
       "Bug fixes for TPM"
      
      [ This isn't actually the whole contents of the tag and thus doesn't
        contain Jarkko's signature - I dropped the two top commits that added
        support for signing modules using elliptic curve keys because there's
        a new series for that that fixes a few confising things   - Linus ]
      
      * tag 'tpmdd-next-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status()
        tpm_tis: Use DEFINE_RES_MEM() to simplify code
        tpm: fix some doc warnings in tpm1-cmd.c
        tpm_tis_spi: add missing SPI device ID entries
        tpm: add longer timeout for TPM2_CC_VERIFY_SIGNATURE
        char: tpm: move to use request_irq by IRQF_NO_AUTOEN flag
        tpm_tis_spi: set default probe function if device id not match
        tpm_crb: Use IOMEM_ERR_PTR when function returns iomem
      e60d726f
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.14-1' of... · 776ba3ad
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
       "Highlights:
      
         - New think-lmi driver adding support for changing Lenovo Thinkpad
           BIOS settings from within Linux using the standard firmware-
           attributes class sysfs API
      
         - MS Surface aggregator-cdev now also supports forwarding events to
           user-space (for debugging / new driver development purposes only)
      
         - New intel_skl_int3472 driver this provides the necessary glue to
           translate ACPI table information to GPIOs, regulators, etc. for
           camera sensors on Intel devices with IPU3 attached MIPI cameras
      
         - A whole bunch of other fixes + device-specific quirk additions
      
         - New devm_work_autocancel() devm-helpers.h function"
      
      * tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (83 commits)
        platform/x86: dell-wmi-sysman: Change user experience when Admin/System Password is modified
        platform/x86: intel_skl_int3472: Uninitialized variable in skl_int3472_handle_gpio_resources()
        platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release()
        platform/x86: think-lmi: Split current_value to reflect only the value
        platform/x86: think-lmi: Fix issues with duplicate attributes
        platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string
        platform/x86: intel_cht_int33fe: Move to its own subfolder
        platform/x86: intel_skl_int3472: Move to intel/ subfolder
        platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_clock()
        platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_regulator()
        platform/x86: intel_skl_int3472: Use ACPI GPIO resource directly
        platform/x86: intel_skl_int3472: Fix dependencies (drop CLKDEV_LOOKUP)
        platform/x86: intel_skl_int3472: Free ACPI device resources after use
        platform/x86: Remove "default n" entries
        platform/x86: ISST: Use numa node id for cpu pci dev mapping
        platform/x86: ISST: Optimize CPU to PCI device mapping
        tools/power/x86/intel-speed-select: v1.10 release
        tools/power/x86/intel-speed-select: Fix uncore memory frequency display
        extcon: extcon-max8997: Simplify driver using devm
        extcon: extcon-max8997: Fix IRQ freeing at error path
        ...
      776ba3ad
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v5.14' of git://git.linaro.org/landing-teams/working/fujitsu/integration · ebb81c14
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - imx: add support for i.MX8ULP
      
       - mtk: code change around callback struct
      
       - qcom: add sm6125, MSM8939 fix for channel exhaustion
      
       - microchip: add support for polarfire controller
      
       - misc: cosmetic changes to bcm-2835,flexrm,pdc, arm-mhu and hisilicon
      
      * tag 'mailbox-v5.14' of git://git.linaro.org/landing-teams/working/fujitsu/integration: (26 commits)
        MAINTAINERS: add entry for polarfire soc mailbox
        dt-bindings: add bindings for polarfire soc system controller
        mbox: add polarfire soc system controller mailbox
        dt-bindings: add bindings for polarfire soc mailbox
        mailbox: imx: Avoid using val uninitialized in imx_mu_isr()
        mailbox: qcom: Add MSM8939 APCS support
        mailbox: qcom: Use PLATFORM_DEVID_AUTO to register platform device
        dt-bindings: mailbox: qcom: Add MSM8939 APCS compatible
        mailbox: qcom-apcs: Add SM6125 compatible
        dt-bindings: mailbox: Add binding for sm6125
        mailbox: mtk-cmdq: Fix uninitialized variable in cmdq_mbox_flush()
        mailbox: bcm-flexrm-mailbox: Remove redundant dev_err call in flexrm_mbox_probe()
        mailbox: bcm2835: Remove redundant dev_err call in bcm2835_mbox_probe()
        mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion
        mailbox: mtk-cmdq: Add struct cmdq_pkt in struct cmdq_cb_data
        mailbox: mtk-cmdq: Use mailbox rx_callback
        mailbox: mtk-cmdq: Remove cmdq_cb_status
        mailbox: imx-mailbox: support i.MX8ULP MU
        mailbox: imx: add xSR/xCR register array
        mailbox: imx: replace the xTR/xRR array with single register
        ...
      ebb81c14
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.14-1' of git://github.com/cminyard/linux-ipmi · c0c6d209
      Linus Torvalds authored
      Pull IPMI driver updates from Corey Minyard:
       "Mostly a restructure of the kcs_bmc driver to make it easier to use
        with different types of devices, and just to clean things up and
        improve things.
      
        Also some bug fixes for the kcs_bmc driver.
      
        One fix to the IPMI watchdog to stop the timer when the action is
        none. Not a big deal, but it's the right thing to do"
      
      * tag 'for-linus-5.14-1' of git://github.com/cminyard/linux-ipmi:
        ipmi: kcs_bmc_aspeed: Fix less than zero comparison of a unsigned int
        ipmi: kcs_bmc_aspeed: Optionally apply status address
        ipmi: kcs_bmc_aspeed: Fix IBFIE typo from datasheet
        ipmi: kcs_bmc_aspeed: Implement KCS SerIRQ configuration
        dt-bindings: ipmi: Add optional SerIRQ property to ASPEED KCS devices
        dt-bindings: ipmi: Convert ASPEED KCS binding to schema
        ipmi: kcs_bmc: Add serio adaptor
        ipmi: kcs_bmc: Enable IBF on open
        ipmi: kcs_bmc: Allow clients to control KCS IRQ state
        ipmi: kcs_bmc: Decouple the IPMI chardev from the core
        ipmi: kcs_bmc: Strip private client data from struct kcs_bmc
        ipmi: kcs_bmc: Split headers into device and client
        ipmi: kcs_bmc: Turn the driver data-structures inside-out
        ipmi: kcs_bmc: Split out kcs_bmc_cdev_ipmi
        ipmi: kcs_bmc: Rename {read,write}_{status,data}() functions
        ipmi: kcs_bmc: Make status update atomic
        ipmi: kcs_bmc_aspeed: Use of match data to extract KCS properties
        ipmi/watchdog: Stop watchdog timer when the current action is 'none'
      c0c6d209
    • Ingo Molnar's avatar
      Merge branch 'sched/core' into sched/urgent, to pick up fix · a22a5cb8
      Ingo Molnar authored
      Pick up a fix for a warning that several people reported.
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      a22a5cb8
    • Jiri Kosina's avatar
      Merge branch 'for-5.14/multitouch' into for-linus · b3e29642
      Jiri Kosina authored
      - patch series that ensures that hid-multitouch driver disables touch and
        button-press reporting on hid-mt devices during suspend when the device is
        not configured as a wakeup-source, from Hans de Goede
      b3e29642
    • Jiri Kosina's avatar
      Merge branch 'for-5.14/logitech' into for-linus · 8f4ef88e
      Jiri Kosina authored
      - support for LCD menu keys + LCD brightness control on the Logitech Z-10
        speakers (with LCD) which use the same protocol as the G15 keyboards
        from Hans de Goede
      8f4ef88e
    • Jiri Kosina's avatar
      Merge branch 'for-5.14/intel-ish' into for-linus · 33197bd3
      Jiri Kosina authored
      - support for ISH DMA on EHL platform from Even Xu
      - various code style fixes and cleanups from Lee Jones and Uwe Kleine-König
      33197bd3
    • Jiri Kosina's avatar
      Merge branch 'for-5.14/google' into for-linus · 7f1f3803
      Jiri Kosina authored
      - device tree match for Google Whiskers device from Ikjoon Jang
      7f1f3803
    • Jiri Kosina's avatar
      Merge branch 'for-5.14/core' into for-linus · fd73788c
      Jiri Kosina authored
      - device unbinding locking fix from Dmitry Torokhov
      - support for programmable buttons (mapping to KEY_MACRO# event codes)
        from Thomas Weißschuh
      - various other small fixes and code style improvements
      fd73788c
    • Jiri Kosina's avatar
      Merge branch 'for-5.14/amd-sfh' into for-linus · 5a94296b
      Jiri Kosina authored
      - support for Renoir and Cezanne SoCs
      - support for Ambient Light Sensor
      - support for Human Presence Detection sensor
      
      all from Basavaraj Natikar
      5a94296b
    • Linus Torvalds's avatar
      Merge tag 'dlm-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 007b350a
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This is a major dlm networking enhancement that adds message
        retransmission so that the dlm can reliably continue operating when
        network connections fail and nodes reconnect.
      
        Previously, this would result in lost messages which could only be
        handled as a node failure"
      
      * tag 'dlm-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: (26 commits)
        fs: dlm: invalid buffer access in lookup error
        fs: dlm: fix race in mhandle deletion
        fs: dlm: rename socket and app buffer defines
        fs: dlm: introduce proto values
        fs: dlm: move dlm allow conn
        fs: dlm: use alloc_ordered_workqueue
        fs: dlm: fix memory leak when fenced
        fs: dlm: fix lowcomms_start error case
        fs: dlm: Fix spelling mistake "stucked" -> "stuck"
        fs: dlm: Fix memory leak of object mh
        fs: dlm: don't allow half transmitted messages
        fs: dlm: add midcomms debugfs functionality
        fs: dlm: add reliable connection if reconnect
        fs: dlm: add union in dlm header for lockspace id
        fs: dlm: move out some hash functionality
        fs: dlm: add functionality to re-transmit a message
        fs: dlm: make buffer handling per msg
        fs: dlm: add more midcomms hooks
        fs: dlm: public header in out utility
        fs: dlm: fix connection tcp EOF handling
        ...
      007b350a
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 8418dabd
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
       "Various minor gfs2 cleanups and fixes"
      
      * tag 'gfs2-v5.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Clean up gfs2_unstuff_dinode
        gfs2: Unstuff before locking page in gfs2_page_mkwrite
        gfs2: Clean up the error handling in gfs2_page_mkwrite
        gfs2: Fix error handling in init_statfs
        gfs2: Fix underflow in gfs2_page_mkwrite
        gfs2: Use list_move_tail instead of list_del/list_add_tail
        gfs2: Fix do_gfs2_set_flags description
      8418dabd
    • Linus Torvalds's avatar
      Merge tag '5.14-rc-smb3-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6 · bbd91626
      Linus Torvalds authored
      Pull cifs updates from Steve French:
      
       - improve fallocate emulation
      
       - DFS fixes
      
       - minor multichannel fixes
      
       - various cleanup patches, many to address Coverity warnings
      
      * tag '5.14-rc-smb3-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6: (38 commits)
        smb3: prevent races updating CurrentMid
        cifs: fix missing spinlock around update to ses->status
        cifs: missing null pointer check in cifs_mount
        smb3: fix possible access to uninitialized pointer to DACL
        cifs: missing null check for newinode pointer
        cifs: remove two cases where rc is set unnecessarily in sid_to_id
        SMB3: Add new info level for query directory
        cifs: fix NULL dereference in smb2_check_message()
        smbdirect: missing rc checks while waiting for rdma events
        cifs: Avoid field over-reading memcpy()
        smb311: remove dead code for non compounded posix query info
        cifs: fix SMB1 error path in cifs_get_file_info_unix
        smb3: fix uninitialized value for port in witness protocol move
        cifs: fix unneeded null check
        cifs: use SPDX-Licence-Identifier
        cifs: convert list_for_each to entry variant in cifs_debug.c
        cifs: convert list_for_each to entry variant in smb2misc.c
        cifs: avoid extra calls in posix_info_parse
        cifs: retry lookup and readdir when EAGAIN is returned.
        cifs: fix check of dfs interlinks
        ...
      bbd91626
    • Linus Torvalds's avatar
      Merge tag 'fs.openat2.unknown_flags.v5.14' of... · b97902b6
      Linus Torvalds authored
      Merge tag 'fs.openat2.unknown_flags.v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
      
      Pull openat2 fixes from Christian Brauner:
      
       - Remove the unused VALID_UPGRADE_FLAGS define we carried from an
         extension to openat2() that we haven't merged. Aleksa might be
         getting back to it at some point but just not right now.
      
       - openat2() used to accidently ignore unknown flag values in the upper
         32 bits.
      
         The new openat2() syscall verifies that no unknown O-flag values are
         set and returns an error to userspace if they are while the older
         open syscalls like open() and openat() simply ignore unknown flag
         values:
      
            #define O_FLAG_CURRENTLY_INVALID (1 << 31)
            struct open_how how = {
                  .flags = O_RDONLY | O_FLAG_CURRENTLY_INVALID,
                  .resolve = 0,
            };
      
            /* fails */
            fd = openat2(-EBADF, "/dev/null", &how, sizeof(how));
      
            /* succeeds */
            fd = openat(-EBADF, "/dev/null", O_RDONLY | O_FLAG_CURRENTLY_INVALID);
      
         However, openat2() silently truncates the upper 32 bits meaning:
      
            #define O_FLAG_CURRENTLY_INVALID_LOWER32 (1 << 31)
            #define O_FLAG_CURRENTLY_INVALID_UPPER32 (1 << 40)
      
            struct open_how how_lowe32 = {
                  .flags = O_RDONLY | O_FLAG_CURRENTLY_INVALID_LOWER32,
            };
      
            struct open_how how_upper32 = {
                  .flags = O_RDONLY | O_FLAG_CURRENTLY_INVALID_UPPER32,
            };
      
            /* fails */
            fd = openat2(-EBADF, "/dev/null", &how_lower32, sizeof(how_lower32));
      
            /* succeeds */
            fd = openat2(-EBADF, "/dev/null", &how_upper32, sizeof(how_upper32));
      
         Fix this by preventing the immediate truncation in build_open_flags()
         and add a compile-time check to catch when we add flags in the upper
         32 bit range.
      
      * tag 'fs.openat2.unknown_flags.v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        test: add openat2() test for invalid upper 32 bit flag value
        open: don't silently ignore unknown O-flags in openat2()
        fcntl: remove unused VALID_UPGRADE_FLAGS
      b97902b6
    • Linus Torvalds's avatar
      Merge tag 'fs.mount_setattr.nosymfollow.v5.14' of... · 30d1a556
      Linus Torvalds authored
      Merge tag 'fs.mount_setattr.nosymfollow.v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
      
      Pull mount_setattr updates from Christian Brauner:
       "A few releases ago the old mount API gained support for a mount
        options which prevents following symlinks on a given mount. This adds
        support for it in the new mount api through the MOUNT_ATTR_NOSYMFOLLOW
        flag via mount_setattr() and fsmount(). With mount_setattr() that flag
        can even be applied recursively.
      
        There's an additional ack from Ross Zwisler who originally authored
        the nosymfollow patch. As I've already had the patches in my for-next
        I didn't add his ack explicitly"
      
      * tag 'fs.mount_setattr.nosymfollow.v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        tests: test MOUNT_ATTR_NOSYMFOLLOW with mount_setattr()
        mount: Support "nosymfollow" in new mount api
      30d1a556
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 65090f30
      Linus Torvalds authored
      Merge misc updates from Andrew Morton:
       "191 patches.
      
        Subsystems affected by this patch series: kthread, ia64, scripts,
        ntfs, squashfs, ocfs2, kernel/watchdog, and mm (gup, pagealloc, slab,
        slub, kmemleak, dax, debug, pagecache, gup, swap, memcg, pagemap,
        mprotect, bootmem, dma, tracing, vmalloc, kasan, initialization,
        pagealloc, and memory-failure)"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (191 commits)
        mm,hwpoison: make get_hwpoison_page() call get_any_page()
        mm,hwpoison: send SIGBUS with error virutal address
        mm/page_alloc: split pcp->high across all online CPUs for cpuless nodes
        mm/page_alloc: allow high-order pages to be stored on the per-cpu lists
        mm: replace CONFIG_FLAT_NODE_MEM_MAP with CONFIG_FLATMEM
        mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMA
        docs: remove description of DISCONTIGMEM
        arch, mm: remove stale mentions of DISCONIGMEM
        mm: remove CONFIG_DISCONTIGMEM
        m68k: remove support for DISCONTIGMEM
        arc: remove support for DISCONTIGMEM
        arc: update comment about HIGHMEM implementation
        alpha: remove DISCONTIGMEM and NUMA
        mm/page_alloc: move free_the_page
        mm/page_alloc: fix counting of managed_pages
        mm/page_alloc: improve memmap_pages dbg msg
        mm: drop SECTION_SHIFT in code comments
        mm/page_alloc: introduce vm.percpu_pagelist_high_fraction
        mm/page_alloc: limit the number of pages on PCP lists when reclaim is active
        mm/page_alloc: scale the number of pages that are batch freed
        ...
      65090f30
  3. 29 Jun, 2021 6 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · b6df0078
      Jakub Kicinski authored
      Trivial conflict in net/netfilter/nf_tables_api.c.
      
      Duplicate fix in tools/testing/selftests/net/devlink_port_split.py
      - take the net-next version.
      
      skmsg, and L4 bpf - keep the bpf code but remove the flags
      and err params.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b6df0078
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 349a2d52
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These unify device properties access in some pieces of code and make
        related changes.
      
        Specifics:
      
         - Handle device properties with software node API in the ACPI IORT
           table parsing code (Heikki Krogerus).
      
         - Unify of_node access in the common device properties code, constify
           the acpi_dma_supported() argument pointer and fix up CONFIG_ACPI=n
           stubs of some functions related to device properties (Andy
           Shevchenko)"
      
      * tag 'devprop-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: Unify access to of_node
        ACPI: scan: Constify acpi_dma_supported() helper function
        ACPI: property: Constify stubs for CONFIG_ACPI=n case
        ACPI: IORT: Handle device properties with software node API
        device property: Retrieve fwnode from of_node via accessor
      349a2d52
    • Linus Torvalds's avatar
      Merge tag 'pnp-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 72ad9f9d
      Linus Torvalds authored
      Pull PNP updates from Rafael Wysocki:
       "These get rid of unnecessary local variables and function, reduce code
        duplication and clean up message printing.
      
        Specifics:
      
         - Remove unnecessary local variables from isapnp_proc_attach_device()
           (Anupama K Patil).
      
         - Make the callers of pnp_alloc() use kzalloc() directly and drop the
           former (Heiner Kallweit).
      
         - Make two pieces of code use dev_dbg() instead of dev_printk() with
           the KERN_DEBUG message level (Heiner Kallweit).
      
         - Use DEVICE_ATTR_RO() instead of full DEVICE_ATTR() in some places
           in card.c (Zhen Lei).
      
         - Use list_for_each_entry() instead of list_for_each() in
           insert_device() (Zou Wei)"
      
      * tag 'pnp-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PNP: pnpbios: Use list_for_each_entry() instead of list_for_each()
        PNP: use DEVICE_ATTR_RO macro
        PNP: Switch over to dev_dbg()
        PNP: Remove pnp_alloc()
        drivers: pnp: isapnp: proc.c: Remove unnecessary local variables
      72ad9f9d
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 5e692824
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to the 20210604 upstream
        revision, add preliminary support for the Platform Runtime Mechanism
        (PRM), address issues related to the handling of device dependencies
        in the ACPI device eunmeration code, improve the tracking of ACPI
        power resource states, improve the ACPI support for suspend-to-idle on
        AMD systems, continue the unification of message printing in the ACPI
        code, address assorted issues and clean up the code in a number of
        places.
      
        Specifics:
      
         - Update ACPICA code in the kernel to upstrea revision 20210604
           including the following changes:
      
            - Add defines for the CXL Host Bridge Structureand and add the
              CFMWS structure definition to CEDT (Alison Schofield).
            - iASL: Finish support for the IVRS ACPI table (Bob Moore).
            - iASL: Add support for the SVKL table (Bob Moore).
            - iASL: Add full support for RGRT ACPI table (Bob Moore).
            - iASL: Add support for the BDAT ACPI table (Bob Moore).
            - iASL: add disassembler support for PRMT (Erik Kaneda).
            - Fix memory leak caused by _CID repair function (Erik Kaneda).
            - Add support for PlatformRtMechanism OpRegion (Erik Kaneda).
            - Add PRMT module header to facilitate parsing (Erik Kaneda).
            - Add _PLD panel positions (Fabian Wüthrich).
            - MADT: add Multiprocessor Wakeup Mailbox Structure and the SVKL
              table headers (Kuppuswamy Sathyanarayanan).
            - Use ACPI_FALLTHROUGH (Wei Ming Chen).
      
         - Add preliminary support for the Platform Runtime Mechanism (PRM) to
           allow the AML interpreter to call PRM functions (Erik Kaneda).
      
         - Address some issues related to the handling of device dependencies
           reported by _DEP in the ACPI device enumeration code and clean up
           some related pieces of it (Rafael Wysocki).
      
         - Improve the tracking of states of ACPI power resources (Rafael
           Wysocki).
      
         - Improve ACPI support for suspend-to-idle on AMD systems (Alex
           Deucher, Mario Limonciello, Pratik Vishwakarma).
      
         - Continue the unification and cleanup of message printing in the
           ACPI code (Hanjun Guo, Heiner Kallweit).
      
         - Fix possible buffer overrun issue with the description_show() sysfs
           attribute method (Krzysztof Wilczyński).
      
         - Improve the acpi_mask_gpe kernel command line parameter handling
           and clean up the core ACPI code related to sysfs (Andy Shevchenko,
           Baokun Li, Clayton Casciato).
      
         - Postpone bringing devices in the general ACPI PM domain to D0
           during resume from system-wide suspend until they are really needed
           (Dmitry Torokhov).
      
         - Make the ACPI processor driver fix up C-state latency if not
           ordered (Mario Limonciello).
      
         - Add support for identifying devices depening on the given one that
           are not its direct descendants with the help of _DEP (Daniel
           Scally).
      
         - Extend the checks related to ACPI IRQ overrides on x86 in order to
           avoid false-positives (Hui Wang).
      
         - Add battery DPTF participant for Intel SoCs (Sumeet Pawnikar).
      
         - Rearrange the ACPI fan driver and device power management code to
           use a common list of device IDs (Rafael Wysocki).
      
         - Fix clang CFI violation in the ACPI BGRT table parsing code and
           clean it up (Nathan Chancellor).
      
         - Add GPE-related quirks for some laptops to the EC driver (Chris
           Chiu, Zhang Rui).
      
         - Make the ACPI PPTT table parsing code populate the cache-id value
           if present in the firmware (James Morse).
      
         - Remove redundant clearing of context->ret.pointer from
           acpi_run_osc() (Hans de Goede).
      
         - Add missing acpi_put_table() in acpi_init_fpdt() (Jing Xiangfeng).
      
         - Make ACPI APEI handle ARM Processor Error CPER records like Memory
           Error ones to avoid user space task lockups (Xiaofei Tan).
      
         - Stop warning about disabled ACPI in APEI (Jon Hunter).
      
         - Fix fall-through warning for Clang in the SBSHC driver (Gustavo A.
           R. Silva).
      
         - Add custom DSDT file as Makefile prerequisite (Richard Fitzgerald).
      
         - Initialize local variable to avoid garbage being returned (Colin
           Ian King).
      
         - Simplify assorted pieces of code, address assorted coding style and
           documentation issues and comment typos (Baokun Li, Christophe
           JAILLET, Clayton Casciato, Liu Shixin, Shaokun Zhang, Wei Yongjun,
           Yang Li, Zhen Lei)"
      
      * tag 'acpi-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (97 commits)
        ACPI: PM: postpone bringing devices to D0 unless we need them
        ACPI: tables: Add custom DSDT file as makefile prerequisite
        ACPI: bgrt: Use sysfs_emit
        ACPI: bgrt: Fix CFI violation
        ACPI: EC: trust DSDT GPE for certain HP laptop
        ACPI: scan: Simplify acpi_table_events_fn()
        ACPI: PM: Adjust behavior for field problems on AMD systems
        ACPI: PM: s2idle: Add support for new Microsoft UUID
        ACPI: PM: s2idle: Add support for multiple func mask
        ACPI: PM: s2idle: Refactor common code
        ACPI: PM: s2idle: Use correct revision id
        ACPI: sysfs: Remove tailing return statement in void function
        ACPI: sysfs: Use __ATTR_RO() and __ATTR_RW() macros
        ACPI: sysfs: Sort headers alphabetically
        ACPI: sysfs: Refactor param_get_trace_state() to drop dead code
        ACPI: sysfs: Unify pattern of memory allocations
        ACPI: sysfs: Allow bitmap list to be supplied to acpi_mask_gpe
        ACPI: sysfs: Make sparse happy about address space in use
        ACPI: scan: Fix race related to dropping dependencies
        ACPI: scan: Reorganize acpi_device_add()
        ...
      5e692824
    • Linus Torvalds's avatar
      Merge tag 'pm-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3563f55c
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These add hybrid processors support to the intel_pstate driver and
        make it work with more processor models when HWP is disabled, make the
        intel_idle driver use special C6 idle state paremeters when package
        C-states are disabled, add cooling support to the tegra30 devfreq
        driver, rework the TEO (timer events oriented) cpuidle governor,
        extend the OPP (operating performance points) framework to use the
        required-opps DT property in more cases, fix some issues and clean up
        a number of assorted pieces of code.
      
        Specifics:
      
         - Make intel_pstate support hybrid processors using abstract
           performance units in the HWP interface (Rafael Wysocki).
      
         - Add Icelake servers and Cometlake support in no-HWP mode to
           intel_pstate (Giovanni Gherdovich).
      
         - Make cpufreq_online() error path be consistent with the CPU device
           removal path in cpufreq (Rafael Wysocki).
      
         - Clean up 3 cpufreq drivers and the statistics code (Hailong Liu,
           Randy Dunlap, Shaokun Zhang).
      
         - Make intel_idle use special idle state parameters for C6 when
           package C-states are disabled (Chen Yu).
      
         - Rework the TEO (timer events oriented) cpuidle governor to address
           some theoretical shortcomings in it (Rafael Wysocki).
      
         - Drop unneeded semicolon from the TEO governor (Wan Jiabing).
      
         - Modify the runtime PM framework to accept unassigned suspend and
           resume callback pointers (Ulf Hansson).
      
         - Improve pm_runtime_get_sync() documentation (Krzysztof Kozlowski).
      
         - Improve device performance states support in the generic power
           domains (genpd) framework (Ulf Hansson).
      
         - Fix some documentation issues in genpd (Yang Yingliang).
      
         - Make the operating performance points (OPP) framework use the
           required-opps DT property in use cases that are not related to
           genpd (Hsin-Yi Wang).
      
         - Make lazy_link_required_opp_table() use list_del_init instead of
           list_del/INIT_LIST_HEAD (Yang Yingliang).
      
         - Simplify wake IRQs handling in the core system-wide sleep support
           code and clean up some coding style inconsistencies in it (Tian
           Tao, Zhen Lei).
      
         - Add cooling support to the tegra30 devfreq driver and improve its
           DT bindings (Dmitry Osipenko).
      
         - Fix some assorted issues in the devfreq core and drivers (Chanwoo
           Choi, Dong Aisheng, YueHaibing)"
      
      * tag 'pm-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (39 commits)
        PM / devfreq: passive: Fix get_target_freq when not using required-opp
        cpufreq: Make cpufreq_online() call driver->offline() on errors
        opp: Allow required-opps to be used for non genpd use cases
        cpuidle: teo: remove unneeded semicolon in teo_select()
        dt-bindings: devfreq: tegra30-actmon: Add cooling-cells
        dt-bindings: devfreq: tegra30-actmon: Convert to schema
        PM / devfreq: userspace: Use DEVICE_ATTR_RW macro
        PM: runtime: Clarify documentation when callbacks are unassigned
        PM: runtime: Allow unassigned ->runtime_suspend|resume callbacks
        PM: runtime: Improve path in rpm_idle() when no callback
        PM: hibernate: remove leading spaces before tabs
        PM: sleep: remove trailing spaces and tabs
        PM: domains: Drop/restore performance state votes for devices at runtime PM
        PM: domains: Return early if perf state is already set for the device
        PM: domains: Split code in dev_pm_genpd_set_performance_state()
        cpuidle: teo: Use kerneldoc documentation in admin-guide
        cpuidle: teo: Rework most recent idle duration values treatment
        cpuidle: teo: Change the main idle state selection logic
        cpuidle: teo: Cosmetic modification of teo_select()
        cpuidle: teo: Cosmetic modifications of teo_update()
        ...
      3563f55c
    • Nathan Chancellor's avatar
      qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute · fca41af1
      Nathan Chancellor authored
      fw_cfg_showrev() is called by an indirect call in kobj_attr_show(),
      which violates clang's CFI checking because fw_cfg_showrev()'s second
      parameter is 'struct attribute', whereas the ->show() member of 'struct
      kobj_structure' expects the second parameter to be of type 'struct
      kobj_attribute'.
      
      $ cat /sys/firmware/qemu_fw_cfg/rev
      3
      
      $ dmesg | grep "CFI failure"
      [   26.016832] CFI failure (target: fw_cfg_showrev+0x0/0x8):
      
      Fix this by converting fw_cfg_rev_attr to 'struct kobj_attribute' where
      this would have been caught automatically by the incompatible pointer
      types compiler warning. Update fw_cfg_showrev() accordingly.
      
      Fixes: 75f3e8e4 ("firmware: introduce sysfs driver for QEMU's fw_cfg device")
      Link: https://github.com/ClangBuiltLinux/linux/issues/1299Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Reviewed-by: default avatarSami Tolvanen <samitolvanen@google.com>
      Tested-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Reviewed-by: default avatarSami Tolvanen <samitolvanen@google.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20210211194258.4137998-1-nathan@kernel.org
      fca41af1