1. 06 Dec, 2021 3 commits
    • Niklas Cassel's avatar
      nvme: report write pointer for a full zone as zone start + zone len · 793fcab8
      Niklas Cassel authored
      The write pointer in NVMe ZNS is invalid for a zone in zone state full.
      The same also holds true for ZAC/ZBC.
      
      The current behavior for NVMe is to simply propagate the wp reported by
      the drive, even for full zones. Since the wp is invalid for a full zone,
      the wp reported by the drive may be any value.
      
      The way that the sd_zbc driver handles a full zone is to always report
      the wp as zone start + zone len, regardless of what the drive reported.
      null_blk also follows this convention.
      
      Do the same for NVMe, so that a BLKREPORTZONE ioctl reports the write
      pointer for a full zone in a consistent way, regardless of the interface
      of the underlying zoned block device.
      
      blkzone report before patch:
      start: 0x000040000, len 0x040000, cap 0x03e000, wptr 0xfffffffffffbfff8
      reset:0 non-seq:0, zcond:14(fu) [type: 2(SEQ_WRITE_REQUIRED)]
      
      blkzone report after patch:
      start: 0x000040000, len 0x040000, cap 0x03e000, wptr 0x040000 reset:0
      non-seq:0, zcond:14(fu) [type: 2(SEQ_WRITE_REQUIRED)]
      Signed-off-by: default avatarNiklas Cassel <niklas.cassel@wdc.com>
      Reviewed-by: default avatarKeith Busch <kbusch@kernel.org>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      793fcab8
    • Keith Busch's avatar
      nvme: disable namespace access for unsupported metadata · d39ad2a4
      Keith Busch authored
      The only fabrics target that supports metadata handling through the
      separate integrity buffer is RDMA. It is currently usable only if the
      size is 8B per block and formatted for protection information. If an
      rdma target were to export a namespace with a different format (ex:
      4k+64B), the driver will not be able to submit valid read/write commands
      for that namespace.
      
      Suppress setting the metadata feature in the namespace so that the
      gendisk capacity will be set to 0. This will prevent read/write access
      through the block stack, but will continue to allow ioctl passthrough
      commands.
      
      Cc: Max Gurtovoy <mgurtovoy@nvidia.com>
      Cc: Sagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      d39ad2a4
    • Keith Busch's avatar
      nvme: show subsys nqn for duplicate cntlids · 16cc33b2
      Keith Busch authored
      The driver assigned nvme handle isn't persistent across reboots, so is
      not enough information to match up where the collisions are occuring.
      Add the subsys nqn string to the output so that it can more easily be
      identified later.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=215099Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      16cc33b2
  2. 29 Nov, 2021 1 commit
  3. 26 Nov, 2021 2 commits
  4. 25 Nov, 2021 3 commits
  5. 23 Nov, 2021 10 commits
  6. 19 Nov, 2021 2 commits
  7. 17 Nov, 2021 2 commits
  8. 16 Nov, 2021 2 commits
    • Ming Lei's avatar
      blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release() · 2a19b28f
      Ming Lei authored
      For avoiding to slow down queue destroy, we don't call
      blk_mq_quiesce_queue() in blk_cleanup_queue(), instead of delaying to
      cancel dispatch work in blk_release_queue().
      
      However, this way has caused kernel oops[1], reported by Changhui. The log
      shows that scsi_device can be freed before running blk_release_queue(),
      which is expected too since scsi_device is released after the scsi disk
      is closed and the scsi_device is removed.
      
      Fixes the issue by canceling blk-mq dispatch work in both blk_cleanup_queue()
      and disk_release():
      
      1) when disk_release() is run, the disk has been closed, and any sync
      dispatch activities have been done, so canceling dispatch work is enough to
      quiesce filesystem I/O dispatch activity.
      
      2) in blk_cleanup_queue(), we only focus on passthrough request, and
      passthrough request is always explicitly allocated & freed by
      its caller, so once queue is frozen, all sync dispatch activity
      for passthrough request has been done, then it is enough to just cancel
      dispatch work for avoiding any dispatch activity.
      
      [1] kernel panic log
      [12622.769416] BUG: kernel NULL pointer dereference, address: 0000000000000300
      [12622.777186] #PF: supervisor read access in kernel mode
      [12622.782918] #PF: error_code(0x0000) - not-present page
      [12622.788649] PGD 0 P4D 0
      [12622.791474] Oops: 0000 [#1] PREEMPT SMP PTI
      [12622.796138] CPU: 10 PID: 744 Comm: kworker/10:1H Kdump: loaded Not tainted 5.15.0+ #1
      [12622.804877] Hardware name: Dell Inc. PowerEdge R730/0H21J3, BIOS 1.5.4 10/002/2015
      [12622.813321] Workqueue: kblockd blk_mq_run_work_fn
      [12622.818572] RIP: 0010:sbitmap_get+0x75/0x190
      [12622.823336] Code: 85 80 00 00 00 41 8b 57 08 85 d2 0f 84 b1 00 00 00 45 31 e4 48 63 cd 48 8d 1c 49 48 c1 e3 06 49 03 5f 10 4c 8d 6b 40 83 f0 01 <48> 8b 33 44 89 f2 4c 89 ef 0f b6 c8 e8 fa f3 ff ff 83 f8 ff 75 58
      [12622.844290] RSP: 0018:ffffb00a446dbd40 EFLAGS: 00010202
      [12622.850120] RAX: 0000000000000001 RBX: 0000000000000300 RCX: 0000000000000004
      [12622.858082] RDX: 0000000000000006 RSI: 0000000000000082 RDI: ffffa0b7a2dfe030
      [12622.866042] RBP: 0000000000000004 R08: 0000000000000001 R09: ffffa0b742721334
      [12622.874003] R10: 0000000000000008 R11: 0000000000000008 R12: 0000000000000000
      [12622.881964] R13: 0000000000000340 R14: 0000000000000000 R15: ffffa0b7a2dfe030
      [12622.889926] FS:  0000000000000000(0000) GS:ffffa0baafb40000(0000) knlGS:0000000000000000
      [12622.898956] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [12622.905367] CR2: 0000000000000300 CR3: 0000000641210001 CR4: 00000000001706e0
      [12622.913328] Call Trace:
      [12622.916055]  <TASK>
      [12622.918394]  scsi_mq_get_budget+0x1a/0x110
      [12622.922969]  __blk_mq_do_dispatch_sched+0x1d4/0x320
      [12622.928404]  ? pick_next_task_fair+0x39/0x390
      [12622.933268]  __blk_mq_sched_dispatch_requests+0xf4/0x140
      [12622.939194]  blk_mq_sched_dispatch_requests+0x30/0x60
      [12622.944829]  __blk_mq_run_hw_queue+0x30/0xa0
      [12622.949593]  process_one_work+0x1e8/0x3c0
      [12622.954059]  worker_thread+0x50/0x3b0
      [12622.958144]  ? rescuer_thread+0x370/0x370
      [12622.962616]  kthread+0x158/0x180
      [12622.966218]  ? set_kthread_struct+0x40/0x40
      [12622.970884]  ret_from_fork+0x22/0x30
      [12622.974875]  </TASK>
      [12622.977309] Modules linked in: scsi_debug rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace fscache netfs sunrpc dm_multipath intel_rapl_msr intel_rapl_common dell_wmi_descriptor sb_edac rfkill video x86_pkg_temp_thermal intel_powerclamp dcdbas coretemp kvm_intel kvm mgag200 irqbypass i2c_algo_bit rapl drm_kms_helper ipmi_ssif intel_cstate intel_uncore syscopyarea sysfillrect sysimgblt fb_sys_fops pcspkr cec mei_me lpc_ich mei ipmi_si ipmi_devintf ipmi_msghandler acpi_power_meter drm fuse xfs libcrc32c sr_mod cdrom sd_mod t10_pi sg ixgbe ahci libahci crct10dif_pclmul crc32_pclmul crc32c_intel libata megaraid_sas ghash_clmulni_intel tg3 wdat_wdt mdio dca wmi dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_debug]
      Reported-by: default avatarChanghuiZhong <czhong@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
      Cc: Bart Van Assche <bvanassche@acm.org>
      Cc: linux-scsi@vger.kernel.org
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Link: https://lore.kernel.org/r/20211116014343.610501-1-ming.lei@redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      2a19b28f
    • Jens Axboe's avatar
      block: fix missing queue put in error path · 95febeb6
      Jens Axboe authored
      If we fail the submission queue checks, we don't put the queue afterwards.
      This can cause various issues like stalls on scheduler switch or failure
      to remove the device, or like in the original bug report, timeout waiting
      for the device on reboot/restart.
      
      While in there, fix a few whitespace discrepancies in the surrounding
      code.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=215039
      Fixes: b637108a ("blk-mq: fix filesystem I/O request allocation")
      Reported-and-tested-by: default avatarStephen Smith <stephenmsmith@blueyonder.co.uk>
      Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      95febeb6
  9. 15 Nov, 2021 1 commit
  10. 14 Nov, 2021 14 commits
    • Linus Torvalds's avatar
      Linux 5.16-rc1 · fa55b7dc
      Linus Torvalds authored
      fa55b7dc
    • Gustavo A. R. Silva's avatar
      kconfig: Add support for -Wimplicit-fallthrough · dee2b702
      Gustavo A. R. Silva authored
      Add Kconfig support for -Wimplicit-fallthrough for both GCC and Clang.
      
      The compiler option is under configuration CC_IMPLICIT_FALLTHROUGH,
      which is enabled by default.
      
      Special thanks to Nathan Chancellor who fixed the Clang bug[1][2]. This
      bugfix only appears in Clang 14.0.0, so older versions still contain
      the bug and -Wimplicit-fallthrough won't be enabled for them, for now.
      
      This concludes a long journey and now we are finally getting rid
      of the unintentional fallthrough bug-class in the kernel, entirely. :)
      
      Link: https://github.com/llvm/llvm-project/commit/9ed4a94d6451046a51ef393cd62f00710820a7e8 [1]
      Link: https://bugs.llvm.org/show_bug.cgi?id=51094 [2]
      Link: https://github.com/KSPP/linux/issues/115
      Link: https://github.com/ClangBuiltLinux/linux/issues/236Co-developed-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Co-developed-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dee2b702
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · ce49bfc8
      Linus Torvalds authored
      Pull xfs cleanups from Darrick Wong:
       "The most 'exciting' aspect of this branch is that the xfsprogs
        maintainer and I have worked through the last of the code
        discrepancies between kernel and userspace libxfs such that there are
        no code differences between the two except for #includes.
      
        IOWs, diff suffices to demonstrate that the userspace tools behave the
        same as the kernel, and kernel-only bits are clearly marked in the
        /kernel/ source code instead of just the userspace source.
      
        Summary:
      
         - Clean up open-coded swap() calls.
      
         - A little bit of #ifdef golf to complete the reunification of the
           kernel and userspace libxfs source code"
      
      * tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: sync xfs_btree_split macros with userspace libxfs
        xfs: #ifdef out perag code for userspace
        xfs: use swap() to make dabtree code cleaner
      ce49bfc8
    • Linus Torvalds's avatar
      Merge tag 'for-5.16/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · c3b68c27
      Linus Torvalds authored
      Pull more parisc fixes from Helge Deller:
       "Fix a build error in stracktrace.c, fix resolving of addresses to
        function names in backtraces, fix single-stepping in assembly code and
        flush userspace pte's when using set_pte_at()"
      
      * tag 'for-5.16/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc/entry: fix trace test in syscall exit path
        parisc: Flush kernel data mapping in set_pte_at() when installing pte for user page
        parisc: Fix implicit declaration of function '__kernel_text_address'
        parisc: Fix backtrace to always include init funtion names
      c3b68c27
    • Linus Torvalds's avatar
      Merge tag 'sh-for-5.16' of git://git.libc.org/linux-sh · 24318ae8
      Linus Torvalds authored
      Pull arch/sh updates from Rich Felker.
      
      * tag 'sh-for-5.16' of git://git.libc.org/linux-sh:
        sh: pgtable-3level: Fix cast to pointer from integer of different size
        sh: fix READ/WRITE redefinition warnings
        sh: define __BIG_ENDIAN for math-emu
        sh: math-emu: drop unused functions
        sh: fix kconfig unmet dependency warning for FRAME_POINTER
        sh: Cleanup about SPARSE_IRQ
        sh: kdump: add some attribute to function
        maple: fix wrong return value of maple_bus_init().
        sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/
        sh: boot: add intermediate vmlinux.bin* to targets instead of extra-y
        sh: boards: Fix the cacography in irq.c
        sh: check return code of request_irq
        sh: fix trivial misannotations
      24318ae8
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 6ea45c57
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
      
       - Fix early_iounmap
      
       - Drop cc-option fallbacks for architecture selection
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9156/1: drop cc-option fallbacks for architecture selection
        ARM: 9155/1: fix early early_iounmap()
      6ea45c57
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 0d1503d8
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Two fixes due to DT node name changes on Arm, Ltd. boards
      
       - Treewide rename of Ingenic CGU headers
      
       - Update ST email addresses
      
       - Remove Netlogic DT bindings
      
       - Dropping few more cases of redundant 'maxItems' in schemas
      
       - Convert toshiba,tc358767 bridge binding to schema
      
      * tag 'devicetree-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: watchdog: sunxi: fix error in schema
        bindings: media: venus: Drop redundant maxItems for power-domain-names
        dt-bindings: Remove Netlogic bindings
        clk: versatile: clk-icst: Ensure clock names are unique
        of: Support using 'mask' in making device bus id
        dt-bindings: treewide: Update @st.com email address to @foss.st.com
        dt-bindings: media: Update maintainers for st,stm32-hwspinlock.yaml
        dt-bindings: media: Update maintainers for st,stm32-cec.yaml
        dt-bindings: mfd: timers: Update maintainers for st,stm32-timers
        dt-bindings: timer: Update maintainers for st,stm32-timer
        dt-bindings: i2c: imx: hardware do not restrict clock-frequency to only 100 and 400 kHz
        dt-bindings: display: bridge: Convert toshiba,tc358767.txt to yaml
        dt-bindings: Rename Ingenic CGU headers to ingenic,*.h
      0d1503d8
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 622c72b6
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single fix for POSIX CPU timers to address a problem where POSIX CPU
        timer delivery stops working for a new child task because
        copy_process() copies state information which is only valid for the
        parent task"
      
      * tag 'timers-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        posix-cpu-timers: Clear task::posix_cputimers_work in copy_process()
      622c72b6
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c36e33e2
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of fixes for the interrupt subsystem
      
        Core code:
      
         - A regression fix for the Open Firmware interrupt mapping code where
           a interrupt controller property in a node caused a map property in
           the same node to be ignored.
      
        Interrupt chip drivers:
      
         - Workaround a limitation in SiFive PLIC interrupt chip which
           silently ignores an EOI when the interrupt line is masked.
      
         - Provide the missing mask/unmask implementation for the CSKY MP
           interrupt controller.
      
        PCI/MSI:
      
         - Prevent a use after free when PCI/MSI interrupts are released by
           destroying the sysfs entries before freeing the memory which is
           accessed in the sysfs show() function.
      
         - Implement a mask quirk for the Nvidia ION AHCI chip which does not
           advertise masking capability despite implementing it. Even worse
           the chip comes out of reset with all MSI entries masked, which due
           to the missing masking capability never get unmasked.
      
         - Move the check which prevents accessing the MSI[X] masking for XEN
           back into the low level accessors. The recent consolidation missed
           that these accessors can be invoked from places which do not have
           that check which broke XEN. Move them back to he original place
           instead of sprinkling tons of these checks all over the code"
      
      * tag 'irq-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        of/irq: Don't ignore interrupt-controller when interrupt-map failed
        irqchip/sifive-plic: Fixup EOI failed when masked
        irqchip/csky-mpintc: Fixup mask/unmask implementation
        PCI/MSI: Destroy sysfs before freeing entries
        PCI: Add MSI masking quirk for Nvidia ION AHCI
        PCI/MSI: Deal with devices lying about their MSI mask capability
        PCI/MSI: Move non-mask check back into low level accessors
      c36e33e2
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 218cc8b8
      Linus Torvalds authored
      Pull x86 static call update from Thomas Gleixner:
       "A single fix for static calls to make the trampoline patching more
        robust by placing explicit signature bytes after the call trampoline
        to prevent patching random other jumps like the CFI jump table
        entries"
      
      * tag 'locking-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        static_call,x86: Robustify trampoline patching
      218cc8b8
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fc661f2d
      Linus Torvalds authored
      Pull scheduler fixes from Borislav Petkov:
      
       - Avoid touching ~100 config files in order to be able to select the
         preemption model
      
       - clear cluster CPU masks too, on the CPU unplug path
      
       - prevent use-after-free in cfs
      
       - Prevent a race condition when updating CPU cache domains
      
       - Factor out common shared part of smp_prepare_cpus() into a common
         helper which can be called by both baremetal and Xen, in order to fix
         a booting of Xen PV guests
      
      * tag 'sched_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        preempt: Restore preemption model selection configs
        arch_topology: Fix missing clear cluster_cpumask in remove_cpu_topology()
        sched/fair: Prevent dead task groups from regaining cfs_rq's
        sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
        x86/smp: Factor out parts of native_smp_prepare_cpus()
      fc661f2d
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7018be2
      Linus Torvalds authored
      Pull perf fixes from Borislav Petkov:
      
       - Prevent unintentional page sharing by checking whether a page
         reference to a PMU samples page has been acquired properly before
         that
      
       - Make sure the LBR_SELECT MSR is saved/restored too
      
       - Reset the LBR_SELECT MSR when resetting the LBR PMU to clear any
         residual data left
      
      * tag 'perf_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Avoid put_page() when GUP fails
        perf/x86/vlbr: Add c->flags to vlbr event constraints
        perf/x86/lbr: Reset LBR_SELECT during vlbr reset
      f7018be2
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1654e95e
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Add the model number of a new, Raptor Lake CPU, to intel-family.h
      
       - Do not log spurious corrected MCEs on SKL too, due to an erratum
      
       - Clarify the path of paravirt ops patches upstream
      
       - Add an optimization to avoid writing out AMX components to sigframes
         when former are in init state
      
      * tag 'x86_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Add Raptor Lake to Intel family
        x86/mce: Add errata workaround for Skylake SKX37
        MAINTAINERS: Add some information to PARAVIRT_OPS entry
        x86/fpu: Optimize out sigframe xfeatures when in init state
      1654e95e
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.16-2021-11-13' of... · 35c8fad4
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.16-2021-11-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
       "Hardware tracing:
      
         - ARM:
            * Print the size of the buffer size consistently in hexadecimal in
              ARM Coresight.
            * Add Coresight snapshot mode support.
            * Update --switch-events docs in 'perf record'.
            * Support hardware-based PID tracing.
            * Track task context switch for cpu-mode events.
      
         - Vendor events:
            * Add metric events JSON file for power10 platform
      
        perf test:
      
         - Get 'perf test' unit tests closer to kunit.
      
         - Topology tests improvements.
      
         - Remove bashisms from some tests.
      
        perf bench:
      
         - Fix memory leak of perf_cpu_map__new() in the futex benchmarks.
      
        libbpf:
      
         - Add some more weak libbpf functions o allow building with the
           libbpf versions, old ones, present in distros.
      
        libbeauty:
      
         - Translate [gs]setsockopt 'level' argument integer values to
           strings.
      
        tools headers UAPI:
      
         - Sync futex_waitv, arch prctl, sound, i195_drm and msr-index files
           with the kernel sources.
      
        Documentation:
      
         - Add documentation to 'struct symbol'.
      
         - Synchronize the definition of enum perf_hw_id with code in
           tools/perf/design.txt"
      
      * tag 'perf-tools-for-v5.16-2021-11-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (67 commits)
        perf tests: Remove bash constructs from stat_all_pmu.sh
        perf tests: Remove bash construct from record+zstd_comp_decomp.sh
        perf test: Remove bash construct from stat_bpf_counters.sh test
        perf bench futex: Fix memory leak of perf_cpu_map__new()
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        tools headers UAPI: Sync sound/asound.h with the kernel sources
        tools headers UAPI: Sync linux/prctl.h with the kernel sources
        tools headers UAPI: Sync arch prctl headers with the kernel sources
        perf tools: Add more weak libbpf functions
        perf bpf: Avoid memory leak from perf_env__insert_btf()
        perf symbols: Factor out annotation init/exit
        perf symbols: Bit pack to save a byte
        perf symbols: Add documentation to 'struct symbol'
        tools headers UAPI: Sync files changed by new futex_waitv syscall
        perf test bpf: Use ARRAY_CHECK() instead of ad-hoc equivalent, addressing array_size.cocci warning
        perf arm-spe: Support hardware-based PID tracing
        perf arm-spe: Save context ID in record
        perf arm-spe: Update --switch-events docs in 'perf record'
        perf arm-spe: Track task context switch for cpu-mode events
        ...
      35c8fad4