11 Jan, 2021

11 commits

  • …masahiroy/linux-kbuild

    Pull Kbuild fixes from Masahiro Yamada:

    - Search for <ncurses.h> in the default header path of HOSTCC

    - Tweak the option order to be kind to old BSD awk

    - Remove 'kvmconfig' and 'xenconfig' shorthands

    - Fix documentation

    * tag 'kbuild-fixes-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    Documentation: kbuild: Fix section reference
    kconfig: remove 'kvmconfig' and 'xenconfig' shorthands
    lib/raid6: Let $(UNROLL) rules work with macOS userland
    kconfig: Support building mconf with vendor sysroot ncurses
    kconfig: config script: add a little user help
    MAINTAINERS: adjust GCC PLUGINS after gcc-plugin.sh removal

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is two driver fixes (megaraid_sas and hisi_sas).

    The megaraid one is a revert of a previous revert of a cpu hotplug fix
    which exposed a bug in the block layer which has been fixed in this
    merge window.

    The hisi_sas performance enhancement comes from switching to interrupt
    managed completion queues, which depended on the addition of
    devm_platform_get_irqs_affinity() which is now upstream via the irq
    tree in the last merge window"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: hisi_sas: Expose HW queues for v2 hw
    Revert "Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug""

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:

    - Missing CRC32 selections (Arnd)

    - Fix for a merge window regression with bdev inode init (Christoph)

    - bcache fixes

    - rnbd fixes

    - NVMe pull request from Christoph:
    - fix a race in the nvme-tcp send code (Sagi Grimberg)
    - fix a list corruption in an nvme-rdma error path (Israel Rukshin)
    - avoid a possible double fetch in nvme-pci (Lalithambika Krishnakumar)
    - add the susystem NQN quirk for a Samsung driver (Gopal Tiwari)
    - fix two compiler warnings in nvme-fcloop (James Smart)
    - don't call sleeping functions from irq context in nvme-fc (James Smart)
    - remove an unused argument (Max Gurtovoy)
    - remove unused exports (Minwoo Im)

    - Use-after-free fix for partition iteration (Ming)

    - Missing blk-mq debugfs flag annotation (John)

    - Bdev freeze regression fix (Satya)

    - blk-iocost NULL pointer deref fix (Tejun)

    * tag 'block-5.11-2021-01-10' of git://git.kernel.dk/linux-block: (26 commits)
    bcache: set bcache device into read-only mode for BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET
    bcache: introduce BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE for large bucket
    bcache: check unsupported feature sets for bcache register
    bcache: fix typo from SUUP to SUPP in features.h
    bcache: set pdev_set_uuid before scond loop iteration
    blk-mq-debugfs: Add decode for BLK_MQ_F_TAG_HCTX_SHARED
    block/rnbd-clt: avoid module unload race with close confirmation
    block/rnbd: Adding name to the Contributors List
    block/rnbd-clt: Fix sg table use after free
    block/rnbd-srv: Fix use after free in rnbd_srv_sess_dev_force_close
    block/rnbd: Select SG_POOL for RNBD_CLIENT
    block: pre-initialize struct block_device in bdev_alloc_inode
    fs: Fix freeze_bdev()/thaw_bdev() accounting of bd_fsfreeze_sb
    nvme: remove the unused status argument from nvme_trace_bio_complete
    nvmet-rdma: Fix list_del corruption on queue establishment failure
    nvme: unexport functions with no external caller
    nvme: avoid possible double fetch in handling CQE
    nvme-tcp: Fix possible race of io_work and direct send
    nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN
    nvme-fcloop: Fix sscanf type and list_first_entry_or_null warnings
    ...

    Linus Torvalds
     
  • Pull io_uring fixes from Jens Axboe:
    "A bit larger than I had hoped at this point, but it's all changes that
    will be directed towards stable anyway. In detail:

    - Fix a merge window regression on error return (Matthew)

    - Remove useless variable declaration/assignment (Ye Bin)

    - IOPOLL fixes (Pavel)

    - Exit and cancelation fixes (Pavel)

    - fasync lockdep complaint fix (Pavel)

    - Ensure SQPOLL is synchronized with creator life time (Pavel)"

    * tag 'io_uring-5.11-2021-01-10' of git://git.kernel.dk/linux-block:
    io_uring: stop SQPOLL submit on creator's death
    io_uring: add warn_once for io_uring_flush()
    io_uring: inline io_uring_attempt_task_drop()
    io_uring: io_rw_reissue lockdep annotations
    io_uring: synchronise ev_posted() with waitqueues
    io_uring: dont kill fasync under completion_lock
    io_uring: trigger eventfd for IOPOLL
    io_uring: Fix return value from alloc_fixed_file_ref_node
    io_uring: Delete useless variable ‘id’ in io_prep_async_work
    io_uring: cancel more aggressively in exit_work
    io_uring: drop file refs after task cancel
    io_uring: patch up IOPOLL overflow_flush sync
    io_uring: synchronise IOPOLL on task_submit fail

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a number of small USB driver fixes for 5.11-rc3.

    Include in here are:

    - USB gadget driver fixes for reported issues

    - new usb-serial driver ids

    - dma from stack bugfixes

    - typec bugfixes

    - dwc3 bugfixes

    - xhci driver bugfixes

    - other small misc usb driver bugfixes

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

    * tag 'usb-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (35 commits)
    usb: dwc3: gadget: Clear wait flag on dequeue
    usb: typec: Send uevent for num_altmodes update
    usb: typec: Fix copy paste error for NVIDIA alt-mode description
    usb: gadget: enable super speed plus
    kcov, usb: hide in_serving_softirq checks in __usb_hcd_giveback_urb
    usb: uas: Add PNY USB Portable SSD to unusual_uas
    usb: gadget: configfs: Preserve function ordering after bind failure
    usb: gadget: select CONFIG_CRC32
    usb: gadget: core: change the comment for usb_gadget_connect
    usb: gadget: configfs: Fix use-after-free issue with udc_name
    usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
    usb: usbip: vhci_hcd: protect shift size
    USB: usblp: fix DMA to stack
    USB: serial: iuu_phoenix: fix DMA from stack
    USB: serial: option: add LongSung M5710 module support
    USB: serial: option: add Quectel EM160R-GL
    USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug
    usb: gadget: f_uac2: reset wMaxPacketSize
    usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression
    usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
    ...

    Linus Torvalds
     
  • Pull staging driver fixes from Greg KH:
    "Here are some small staging driver fixes for 5.11-rc3. Nothing major,
    just resolving some reported issues:

    - cleanup some remaining mentions of the ION drivers that were
    removed in 5.11-rc1

    - comedi driver bugfix

    - two error path memory leak fixes

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

    * tag 'staging-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: ION: remove some references to CONFIG_ION
    staging: mt7621-dma: Fix a resource leak in an error handling path
    Staging: comedi: Return -EFAULT if copy_to_user() fails
    staging: spmi: hisi-spmi-controller: Fix some error handling paths

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg KH:
    "Here are some small char and misc driver fixes for 5.11-rc3.

    The majority here are fixes for the habanalabs drivers, but also in
    here are:

    - crypto driver fix

    - pvpanic driver fix

    - updated font file

    - interconnect driver fixes

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

    * tag 'char-misc-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (26 commits)
    Fonts: font_ter16x32: Update font with new upstream Terminus release
    misc: pvpanic: Check devm_ioport_map() for NULL
    speakup: Add github repository URL and bug tracker
    MAINTAINERS: Update Georgi's email address
    crypto: asym_tpm: correct zero out potential secrets
    habanalabs: Fix memleak in hl_device_reset
    interconnect: imx8mq: Use icc_sync_state
    interconnect: imx: Remove a useless test
    interconnect: imx: Add a missing of_node_put after of_device_is_available
    interconnect: qcom: fix rpmh link failures
    habanalabs: fix order of status check
    habanalabs: register to pci shutdown callback
    habanalabs: add validation cs counter, fix misplaced counters
    habanalabs/gaudi: retry loading TPC f/w on -EINTR
    habanalabs: adjust pci controller init to new firmware
    habanalabs: update comment in hl_boot_if.h
    habanalabs/gaudi: enhance reset message
    habanalabs: full FW hard reset support
    habanalabs/gaudi: disable CGM at HW initialization
    habanalabs: Revise comment to align with mirror list name
    ...

    Linus Torvalds
     
  • Section 3.11 was incorrectly called 3.9, fix it.

    Signed-off-by: Viresh Kumar
    Signed-off-by: Masahiro Yamada

    Viresh Kumar
     
  • Pull ARC fixes from Vineet Gupta:

    - Address the 2nd boot failure due to snafu in signal handling code
    (first was generic console ttynull issue)

    - misc other fixes

    * tag 'arc-5.11-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: [hsdk]: Enable FPU_SAVE_RESTORE
    ARC: unbork 5.11 bootup: fix snafu in _TIF_NOTIFY_SIGNAL handling
    include/soc: remove headers for EZChip NPS
    arch/arc: add copy_user_page() to to fix build error on ARC

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:

    - A fix for machine check handling with VMAP stack on 32-bit.

    - A clang build fix.

    Thanks to Christophe Leroy and Nathan Chancellor.

    * tag 'powerpc-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc: Handle .text.{hot,unlikely}.* in linker script
    powerpc/32s: Fix RTAS machine check with VMAP stack

    Linus Torvalds
     
  • Pull x86 fixes from Borislav Petkov:
    "As expected, fixes started trickling in after the holidays so here is
    the accumulated pile of x86 fixes for 5.11:

    - A fix for fanotify_mark() missing the conversion of x86_32 native
    syscalls which take 64-bit arguments to the compat handlers due to
    former having a general compat handler. (Brian Gerst)

    - Add a forgotten pmd page destructor call to pud_free_pmd_page()
    where a pmd page is freed. (Dan Williams)

    - Make IN/OUT insns with an u8 immediate port operand handling for
    SEV-ES guests more precise by using only the single port byte and
    not the whole s32 value of the insn decoder. (Peter Gonda)

    - Correct a straddling end range check before returning the proper
    MTRR type, when the end address is the same as top of memory.
    (Ying-Tsun Huang)

    - Change PQR_ASSOC MSR update scheme when moving a task to a resctrl
    resource group to avoid significant performance overhead with some
    resctrl workloads. (Fenghua Yu)

    - Avoid the actual task move overhead when the task is already in the
    resource group. (Fenghua Yu)"

    * tag 'x86_urgent_for_v5.11_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/resctrl: Don't move a task to the same resource group
    x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
    x86/mtrr: Correct the range check before performing MTRR type lookups
    x86/sev-es: Fix SEV-ES OUT/IN immediate opcode vc handling
    x86/mm: Fix leak of pmd ptlock
    fanotify: Fix sys_fanotify_mark() on native x86-32

    Linus Torvalds
     

10 Jan, 2021

13 commits

  • …/groeck/linux-staging

    Pull hwmon fixes from Guenter Roeck:

    - Fix possible KASAN issue in amd_energy driver

    - Avoid configuration problem in pwm-fan driver

    - Fix kernel-doc warning in sbtsi_temp documentation

    * tag 'hwmon-for-v5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (amd_energy) fix allocation of hwmon_channel_info config
    hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values
    hwmon: (sbtsi_temp) Fix Documenation kernel-doc warning

    Linus Torvalds
     
  • Pull dmaengine fixes from Vinod Koul:
    "A bunch of dmaengine driver fixes for:

    - coverity discovered issues for xilinx driver

    - qcom, gpi driver fix for undefined bhaviour and one off cleanup

    - update Peter's email for TI DMA drivers

    - one-off for idxd driver

    - resource leak fix for mediatek and milbeaut drivers"

    * tag 'dmaengine-fix-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
    dmaengine: stm32-mdma: fix STM32_MDMA_VERY_HIGH_PRIORITY value
    dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    dmaengine: xilinx_dma: fix incompatible param warning in _child_probe()
    dmaengine: xilinx_dma: check dma_async_device_register return value
    dmaengine: qcom: fix gpi undefined behavior
    dt-bindings: dma: ti: Update maintainer and author information
    MAINTAINERS: Add entry for Texas Instruments DMA drivers
    qcom: bam_dma: Delete useless kfree code
    dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk()
    dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of the probe function
    dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function
    dmaengine: qcom: gpi: Fixes a format mismatch
    dmaengine: idxd: off by one in cleanup code
    dmaengine: ti: k3-udma: Fix pktdma rchan TPL level setup

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "Three driver bugfixes for I2C. Buisness as usual"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: mediatek: Fix apdma and i2c hand-shake timeout
    i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated
    i2c: sprd: use a specific timeout to avoid system hang up issue

    Linus Torvalds
     
  • Change my email contact ahead of a likely painful eleven-month migration
    to a certain cobalt enteprisey groupware cloud product that will totally
    break my workflow. Some day I may get used to having to email being
    sequestered behind both claret and cerulean oath2+sms 2fa layers, but
    for now I'll stick with keying in one password to receive an email vs.
    the required four.

    Signed-off-by: Darrick J. Wong
    Signed-off-by: Linus Torvalds

    Darrick J. Wong
     
  • When the creator of SQPOLL io_uring dies (i.e. sqo_task), we don't want
    its internals like ->files and ->mm to be poked by the SQPOLL task, it
    have never been nice and recently got racy. That can happen when the
    owner undergoes destruction and SQPOLL tasks tries to submit new
    requests in parallel, and so calls io_sq_thread_acquire*().

    That patch halts SQPOLL submissions when sqo_task dies by introducing
    sqo_dead flag. Once set, the SQPOLL task must not do any submission,
    which is synchronised by uring_lock as well as the new flag.

    The tricky part is to make sure that disabling always happens, that
    means either the ring is discovered by creator's do_exit() -> cancel,
    or if the final close() happens before it's done by the creator. The
    last is guaranteed by the fact that for SQPOLL the creator task and only
    it holds exactly one file note, so either it pins up to do_exit() or
    removed by the creator on the final put in flush. (see comments in
    uring_flush() around file->f_count == 2).

    One more place that can trigger io_sq_thread_acquire_*() is
    __io_req_task_submit(). Shoot off requests on sqo_dead there, even
    though actually we don't need to. That's because cancellation of
    sqo_task should wait for the request before going any further.

    note 1: io_disable_sqo_submit() does io_ring_set_wakeup_flag() so the
    caller would enter the ring to get an error, but it still doesn't
    guarantee that the flag won't be cleared.

    note 2: if final __userspace__ close happens not from the creator
    task, the file note will pin the ring until the task dies.

    Fixed: b1b6b5a30dce8 ("kernel/io_uring: cancel io_uring before task works")
    Signed-off-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     
  • files_cancel() should cancel all relevant requests and drop file notes,
    so we should never have file notes after that, including on-exit fput
    and flush. Add a WARN_ONCE to be sure.

    Signed-off-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     
  • A simple preparation change inlining io_uring_attempt_task_drop() into
    io_uring_flush().

    Signed-off-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     
  • We expect io_rw_reissue() to take place only during submission with
    uring_lock held. Add a lockdep annotation to check that invariant.

    Signed-off-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     
  • If BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET is set in incompat feature
    set, it means the cache device is created with obsoleted layout with
    obso_bucket_site_hi. Now bcache does not support this feature bit, a new
    BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE incompat feature bit is added
    for a better layout to support large bucket size.

    For the legacy compatibility purpose, if a cache device created with
    obsoleted BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET feature bit, all bcache
    devices attached to this cache set should be set to read-only. Then the
    dirty data can be written back to backing device before re-create the
    cache device with BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE feature bit
    by the latest bcache-tools.

    This patch checks BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET feature bit
    when running a cache set and attach a bcache device to the cache set. If
    this bit is set,
    - When run a cache set, print an error kernel message to indicate all
    following attached bcache device will be read-only.
    - When attach a bcache device, print an error kernel message to indicate
    the attached bcache device will be read-only, and ask users to update
    to latest bcache-tools.

    Such change is only for cache device whose bucket size >= 32MB, this is
    for the zoned SSD and almost nobody uses such large bucket size at this
    moment. If you don't explicit set a large bucket size for a zoned SSD,
    such change is totally transparent to your bcache device.

    Fixes: ffa470327572 ("bcache: add bucket_size_hi into struct cache_sb_disk for large bucket")
    Signed-off-by: Coly Li
    Signed-off-by: Jens Axboe

    Coly Li
     
  • When large bucket feature was added, BCH_FEATURE_INCOMPAT_LARGE_BUCKET
    was introduced into the incompat feature set. It used bucket_size_hi
    (which was added at the tail of struct cache_sb_disk) to extend current
    16bit bucket size to 32bit with existing bucket_size in struct
    cache_sb_disk.

    This is not a good idea, there are two obvious problems,
    - Bucket size is always value power of 2, if store log2(bucket size) in
    existing bucket_size of struct cache_sb_disk, it is unnecessary to add
    bucket_size_hi.
    - Macro csum_set() assumes d[SB_JOURNAL_BUCKETS] is the last member in
    struct cache_sb_disk, bucket_size_hi was added after d[] which makes
    csum_set calculate an unexpected super block checksum.

    To fix the above problems, this patch introduces a new incompat feature
    bit BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE, when this bit is set, it
    means bucket_size in struct cache_sb_disk stores the order of power-of-2
    bucket size value. When user specifies a bucket size larger than 32768
    sectors, BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE will be set to
    incompat feature set, and bucket_size stores log2(bucket size) more
    than store the real bucket size value.

    The obsoleted BCH_FEATURE_INCOMPAT_LARGE_BUCKET won't be used anymore,
    it is renamed to BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET and still only
    recognized by kernel driver for legacy compatible purpose. The previous
    bucket_size_hi is renmaed to obso_bucket_size_hi in struct cache_sb_disk
    and not used in bcache-tools anymore.

    For cache device created with BCH_FEATURE_INCOMPAT_LARGE_BUCKET feature,
    bcache-tools and kernel driver still recognize the feature string and
    display it as "obso_large_bucket".

    With this change, the unnecessary extra space extend of bcache on-disk
    super block can be avoided, and csum_set() may generate expected check
    sum as well.

    Fixes: ffa470327572 ("bcache: add bucket_size_hi into struct cache_sb_disk for large bucket")
    Signed-off-by: Coly Li
    Cc: stable@vger.kernel.org # 5.9+
    Signed-off-by: Jens Axboe

    Coly Li
     
  • This patch adds the check for features which is incompatible for
    current supported feature sets.

    Now if the bcache device created by bcache-tools has features that
    current kernel doesn't support, read_super() will fail with error
    messoage. E.g. if an unsupported incompatible feature detected,
    bcache register will fail with dmesg "bcache: register_bcache() error :
    Unsupported incompatible feature found".

    Fixes: d721a43ff69c ("bcache: increase super block version for cache device and backing device")
    Fixes: ffa470327572 ("bcache: add bucket_size_hi into struct cache_sb_disk for large bucket")
    Signed-off-by: Coly Li
    Cc: stable@vger.kernel.org # 5.9+
    Signed-off-by: Jens Axboe

    Coly Li
     
  • This patch fixes the following typos,
    from BCH_FEATURE_COMPAT_SUUP to BCH_FEATURE_COMPAT_SUPP
    from BCH_FEATURE_INCOMPAT_SUUP to BCH_FEATURE_INCOMPAT_SUPP
    from BCH_FEATURE_INCOMPAT_SUUP to BCH_FEATURE_RO_COMPAT_SUPP

    Fixes: d721a43ff69c ("bcache: increase super block version for cache device and backing device")
    Fixes: ffa470327572 ("bcache: add bucket_size_hi into struct cache_sb_disk for large bucket")
    Signed-off-by: Coly Li
    Cc: stable@vger.kernel.org # 5.9+
    Signed-off-by: Jens Axboe

    Coly Li
     
  • There is no need to reassign pdev_set_uuid in the second loop iteration,
    so move it to the place before second loop.

    Signed-off-by: Yi Li
    Signed-off-by: Coly Li
    Signed-off-by: Jens Axboe

    Yi Li
     

09 Jan, 2021

16 commits

  • Pull zonefs fix from Damien Le Moal:
    "A single patch from Arnd to fix a missing dependency in zonefs
    Kconfig"

    * tag 'zonefs-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
    zonefs: select CONFIG_CRC32

    Linus Torvalds
     
  • …/linux/kernel/git/shuah/linux-kselftest

    Pull kunit fixes from Shuah Khan:
    "One fix to force the use of the 'tty' console for UML.

    Given that kunit tool requires the console output, explicitly stating
    the dependency makes sense than relying on it being the default"

    * tag 'linux-kselftest-kunit-fixes-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    kunit: tool: Force the use of the 'tty' console for UML

    Linus Torvalds
     
  • …kernel/git/shuah/linux-kselftest

    Pull kselftest fixes from Shuah Khan:
    "Two minor fixes to vDSO test changes in this merge window"

    * tag 'linux-kselftest-next-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests/vDSO: fix -Wformat warning in vdso_test_correctness
    selftests/vDSO: add additional binaries to .gitignore

    Linus Torvalds
     
  • Pull documentation fixes from Jonathan Corbet:
    "A handful of relatively small documentation fixes"

    * tag 'docs-5.11-3' of git://git.lwn.net/linux:
    docs: admin-guide: bootconfig: Fix feils to fails
    Documentation/admin-guide: kernel-parameters: hyphenate comma-separated
    docs: binfmt-misc: Fix .rst formatting
    docs: remove mention of ENABLE_MUST_CHECK
    atomic: remove further references to atomic_ops
    Documentation: doc-guide: fixes to sphinx.rst
    docs/mm: concepts.rst: Correct the threshold to low watermark
    Documentation: admin: early_param()s are also listed in kernel-parameters
    docs: Fix reST markup when linking to sections

    Linus Torvalds
     
  • Pull device properties framework fixes from Rafael Wysocki:
    "Revert a problematic commit that went in during the 5.10 cycle and
    improve the kerneldoc description of the function affected by it (both
    changes from Bard Liao)"

    * tag 'devprop-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    device property: add description of fwnode cases
    Revert "device property: Keep secondary firmware node secondary by type"

    Linus Torvalds
     
  • Pull ACPI fixes from Rafael Wysocki:
    "These address two build issues and drop confusing text from a couple
    of Kconfig entries.

    Specifics:

    - Drop two local variables that are never read and the code updating
    their values from the x86 suspend-to-idle code (Rafael Wysocki)

    - Add empty stub of an ACPI helper function to avoid build issues
    when CONFIG_ACPI is not set (Shawn Guo)

    - Remove confusing text regarding modules from Kconfig entries that
    correspond to non-modular code (Peter Robinson)"

    * tag 'acpi-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: Update Kconfig help text for items that are no longer modular
    ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
    ACPI: PM: s2idle: Drop unused local variables and related code

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These address two issues in the intel_pstate driver and one in the
    powernow-k8 cpufreq driver.

    Specifics:

    - Make the powernow-k8 cpufreq driver avoid calling
    cpufreq_cpu_get(), which theoretically may return NULL, to get a
    policy pointer that is known to it already (Colin Ian King)

    - Drop two functions that are not used any more from the intel_pstate
    driver (Lukas Bulwahn)

    - Make intel_pstate check the HWP capabilities to get the maximum
    available P-state in the passive mode to avoid using a stale value
    of it in case of out-of-band updates (Rafael Wysocki)"

    * tag 'pm-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: intel_pstate: remove obsolete functions
    cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
    cpufreq: intel_pstate: Use HWP capabilities in intel_cpufreq_adjust_perf()

    Linus Torvalds
     
  • Pull drm fixes from Daniel Vetter:
    "Looks like people are back from the break, usual small pile of fixes
    all over. Next week Dave should be back.

    The only thing pending I'm aware of is a "this shouldn't have become
    uapi" reverts for amdgpu, but they're already on the list and not that
    important really so can wait another week.

    Summary:

    - fix for ttm list corruption in radeon, reported by a few people

    - fixes for amdgpu, i915, msm

    - dma-buf use-after free fix"

    * tag 'drm-fixes-2021-01-08' of git://anongit.freedesktop.org/drm/drm: (29 commits)
    drm/msm: Only enable A6xx LLCC code on A6xx
    drm/msm: Add modparam to allow vram carveout
    drm/msm: Call msm_init_vram before binding the gpu
    drm/msm/dp: postpone irq_hpd event during connection pending state
    drm/ttm: unexport ttm_pool_init/fini
    drm/radeon: stop re-init the TTM page pool
    dmabuf: fix use-after-free of dmabuf's file->f_inode
    Revert "drm/amd/display: Fix memory leaks in S3 resume"
    drm/amdgpu/display: drop DCN support for aarch64
    drm/amdgpu: enable ras eeprom support for sienna cichlid
    drm/amdgpu: fix no bad_pages issue after umc ue injection
    drm/amdgpu: fix potential memory leak during navi12 deinitialization
    drm/amd/display: Fix unused variable warning
    drm/amd/pm: improve the fine grain tuning function for RV/RV2/PCO
    drm/amd/pm: fix the failure when change power profile for renoir
    drm/amdgpu: fix a GPU hang issue when remove device
    drm/amdgpu: fix a memory protection fault when remove amdgpu device
    drm/amdgpu: switched to cached noretry setting for vangogh
    drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue
    drm/amd/pm: updated PM to I2C controller port on sienna cichlid
    ...

    Linus Torvalds
     
  • Pull kvm fixes from Paolo Bonzini:
    "x86:
    - Fixes for the new scalable MMU
    - Fixes for migration of nested hypervisors on AMD
    - Fix for clang integrated assembler
    - Fix for left shift by 64 (UBSAN)
    - Small cleanups
    - Straggler SEV-ES patch

    ARM:
    - VM init cleanups
    - PSCI relay cleanups
    - Kill CONFIG_KVM_ARM_PMU
    - Fixup __init annotations
    - Fixup reg_to_encoding()
    - Fix spurious PMCR_EL0 access

    Misc:
    - selftests cleanups"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (38 commits)
    KVM: x86: __kvm_vcpu_halt can be static
    KVM: SVM: Add support for booting APs in an SEV-ES guest
    KVM: nSVM: cancel KVM_REQ_GET_NESTED_STATE_PAGES on nested vmexit
    KVM: nSVM: mark vmcb as dirty when forcingly leaving the guest mode
    KVM: nSVM: correctly restore nested_run_pending on migration
    KVM: x86/mmu: Clarify TDP MMU page list invariants
    KVM: x86/mmu: Ensure TDP MMU roots are freed after yield
    kvm: check tlbs_dirty directly
    KVM: x86: change in pv_eoi_get_pending() to make code more readable
    MAINTAINERS: Really update email address for Sean Christopherson
    KVM: x86: fix shift out of bounds reported by UBSAN
    KVM: selftests: Implement perf_test_util more conventionally
    KVM: selftests: Use vm_create_with_vcpus in create_vm
    KVM: selftests: Factor out guest mode code
    KVM/SVM: Remove leftover __svm_vcpu_run prototype from svm.c
    KVM: SVM: Add register operand to vmsave call in sev_es_vcpu_load
    KVM: x86/mmu: Optimize not-present/MMIO SPTE check in get_mmio_spte()
    KVM: x86/mmu: Use raw level to index into MMIO walks' sptes array
    KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE
    KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte()
    ...

    Linus Torvalds
     
  • Pull iommu fixes from Will Deacon:
    "This is mainly all Intel VT-D stuff, but there are some fixes for AMD
    and ARM as well.

    We've also got the revert I promised during the merge window, which
    removes a temporary hack to accomodate i915 while we transitioned the
    Intel IOMMU driver over to the common DMA-IOMMU API.

    Finally, there are still a couple of other VT-D fixes floating around,
    so I expect to send you another batch of fixes next week.

    Summary:

    - Fix VT-D TLB invalidation for subdevices

    - Fix VT-D use-after-free on subdevice detach

    - Fix VT-D locking so that IRQs are disabled during SVA bind/unbind

    - Fix VT-D address alignment when flushing IOTLB

    - Fix memory leak in VT-D IRQ remapping failure path

    - Revert temporary i915 sglist hack now that it is no longer required

    - Fix sporadic boot failure with Arm SMMU on Qualcomm SM8150

    - Fix NULL dereference in AMD IRQ remapping code with remapping disabled

    - Fix accidental enabling of irqs on AMD resume-from-suspend path

    - Fix some typos in comments"

    * tag 'iommu-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    iommu/vt-d: Fix ineffective devTLB invalidation for subdevices
    iommu/vt-d: Fix general protection fault in aux_detach_device()
    iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev
    iommu/arm-smmu-qcom: Initialize SCTLR of the bypass context
    iommu/vt-d: Fix lockdep splat in sva bind()/unbind()
    Revert "iommu: Add quirk for Intel graphic devices in map_sg"
    iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb()
    iommu/amd: Stop irq_remapping_select() matching when remapping is disabled
    iommu/amd: Set iommu->int_enabled consistently when interrupts are set up
    iommu/intel: Fix memleak in intel_irq_remapping_alloc
    iommu/iova: fix 'domain' typos

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "These are a small number of bug fixes that all came in before or
    during the merge window, most for the omap platform:

    - One boot regression fix for Nokia N9 (OMAP3).

    - Two small defconfig changes for omap2, to reflect changes in
    drivers

    - Warning fixes for DT issues on omap2, picoxcell and bitmap SoCs.

    The picoxcell platform will be removed in v5.12, but fixing it
    first makes it easier to backport to the fix to stable kernels and
    get a clean build with new dtc versions"

    * tag 'arm-fixes-5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
    ARM: picoxcell: fix missing interrupt-parent properties
    ARM: dts: ux500/golden: Set display max brightness
    arm64: dts: bitmain: Use generic "ngpios" rather than "snps,nr-gpios"
    ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults on xt875
    ARM: omap2plus_defconfig: enable SPI GPIO
    ARM: OMAP2+: omap_device: fix idling of devices during probe
    ARM: dts: OMAP3: disable AES on N950/N9
    ARM: omap2plus_defconfig: drop unused POWER_AVS option

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:

    - Clean-ups following the merging window: remove unused variable,
    duplicate includes, superfluous barrier, move some inline asm to
    separate functions.

    - Disable top-byte-ignore on kernel code addresses with KASAN/MTE
    enabled (already done when MTE is disabled).

    - Fix ARCH_LOW_ADDRESS_LIMIT definition with CONFIG_ZONE_DMA disabled.

    - Compiler/linker flags: link with "-z norelno", discard .eh_frame_hdr
    instead of --no-eh-frame-hdr.

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: Move PSTATE.TCO setting to separate functions
    arm64: kasan: Set TCR_EL1.TBID1 when KASAN_HW_TAGS is enabled
    arm64: vdso: disable .eh_frame_hdr via /DISCARD/ instead of --no-eh-frame-hdr
    arm64: traps: remove duplicate include statement
    arm64: link with -z norelro for LLD or aarch64-elf
    arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA
    arm64: mte: remove an ISB on kernel exit
    arm64/smp: Remove unused irq variable in arch_show_interrupts()

    Linus Torvalds
     
  • HSDK has hardware floating point and the common use case is with
    glibc+hf so enable that as default.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Pull more networking fixes from Jakub Kicinski:
    "Slightly lighter pull request to get back into the Thursday cadence.

    Current release - always broken:

    - can: mcp251xfd: fix Tx/Rx ring buffer driver race conditions

    - dsa: hellcreek: fix led_classdev build errors

    Previous releases - regressions:

    - ipv6: fib: flush exceptions when purging route to avoid netdev
    reference leak

    - ip_tunnels: fix pmtu check in nopmtudisc mode

    - ip: always refragment ip defragmented packets to avoid MTU issues
    when forwarding through tunnels, correct "packet too big" message
    is prohibitively tricky to generate

    - s390/qeth: fix locking for discipline setup / removal and during
    recovery to prevent both deadlocks and races

    - mlx5: Use port_num 1 instead of 0 when delete a RoCE address

    Previous releases - always broken:

    - cdc_ncm: correct overhead calculation in delayed_ndp_size to
    prevent out of bound accesses with Huawei 909s-120 LTE module

    - fix stmmac dwmac-sun8i suspend/resume:
    - PHY being left powered off
    - MAC syscon configuration being reset
    - reference to the reset controller being improperly dropped

    - qrtr: fix null-ptr-deref in qrtr_ns_remove

    - can: tcan4x5x: fix bittiming const, use common bittiming from m_can
    driver

    - mlx5e: CT: Use per flow counter when CT flow accounting is enabled

    - mlx5e: Fix SWP offsets when vlan inserted by driver

    Misc:

    - bpf: Fix a task_iter bug caused by a bpf -> net merge conflict
    resolution

    And the usual many fixes to various error paths"

    * tag 'net-5.11-rc3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (69 commits)
    net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE
    s390/qeth: fix L2 header access in qeth_l3_osa_features_check()
    s390/qeth: fix locking for discipline setup / removal
    s390/qeth: fix deadlock during recovery
    selftests: fib_nexthops: Fix wrong mausezahn invocation
    nexthop: Bounce NHA_GATEWAY in FDB nexthop groups
    nexthop: Unlink nexthop group entry in error path
    nexthop: Fix off-by-one error in error path
    octeontx2-af: fix memory leak of lmac and lmac->name
    chtls: Fix chtls resources release sequence
    chtls: Added a check to avoid NULL pointer dereference
    chtls: Replace skb_dequeue with skb_peek
    chtls: Avoid unnecessary freeing of oreq pointer
    chtls: Fix panic when route to peer not configured
    chtls: Remove invalid set_tcb call
    chtls: Fix hardware tid leak
    net: ip: always refragment ip defragmented packets
    net: fix pmtu check in nopmtudisc mode
    selftests: netfilter: add selftest for ipip pmtu discovery with enabled connection tracking
    docs: octeontx2: tune rst markup
    ...

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:
    "This fixes a functional bug in arm/chacha-neon as well as a potential
    buffer overflow in ecdh"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
    crypto: arm/chacha-neon - add missing counter increment

    Linus Torvalds
     
  • The kernel test robot reported a -5.8% performance regression on the
    "poll2" test of will-it-scale, and bisected it to commit d55564cfc222
    ("x86: Make __put_user() generate an out-of-line call").

    I didn't expect an out-of-line __put_user() to matter, because no normal
    core code should use that non-checking legacy version of user access any
    more. But I had overlooked the very odd poll() usage, which does a
    __put_user() to update the 'revents' values of the poll array.

    Now, Al Viro correctly points out that instead of updating just the
    'revents' field, it would be much simpler to just copy the _whole_
    pollfd entry, and then we could just use "copy_to_user()" on the whole
    array of entries, the same way we use "copy_from_user()" a few lines
    earlier to get the original values.

    But that is not what we've traditionally done, and I worry that threaded
    applications might be concurrently modifying the other fields of the
    pollfd array. So while Al's suggestion is simpler - and perhaps worth
    trying in the future - this instead keeps the "just update revents"
    model.

    To fix the performance regression, use the modern "unsafe_put_user()"
    instead of __put_user(), with the proper "user_write_access_begin()"
    guarding in place. This improves code generation enormously.

    Link: https://lore.kernel.org/lkml/20210107134723.GA28532@xsang-OptiPlex-9020/
    Reported-by: kernel test robot
    Tested-by: Oliver Sang
    Cc: Al Viro
    Cc: David Laight
    Cc: Peter Zijlstra
    Signed-off-by: Linus Torvalds

    Linus Torvalds