All of lore.kernel.org
 help / color / mirror / Atom feed
* linux-next: Tree for Feb 8
@ 2021-02-08 12:52 Stephen Rothwell
  2021-02-08 19:30 ` linux-next: Tree for Feb 8 (objtool: warnings: 5) Randy Dunlap
  2021-02-09  3:33 ` linux-next: Tree for Feb 8 (Warning at arch/x86/kernel/irq.c:390) Randy Dunlap
  0 siblings, 2 replies; 19+ messages in thread
From: Stephen Rothwell @ 2021-02-08 12:52 UTC (permalink / raw)
  To: Linux Next Mailing List; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 41056 bytes --]

Hi all,

Changes since 20210205:

The xfs tree gained a conflict against the pidfd tree.

The pm tree still had its failures so I used the version from
next-20210204.

The net-next tree lost its build failure.

The amdgpu tree still had its build failure due to an interaction with
the drm tree for which I reverted a commit from the drm tree.

The tip tree still had its boot failure so I reverted a commit.

The kvm tree still had its build failure so I used a supplied patch.
This exposed another build failure, so I used the version from
next-20210204 again.

The akpm-current tree gained a conflict against Linus' tree.

Non-merge commits (relative to Linus' tree): 8374
 8496 files changed, 323320 insertions(+), 241252 deletions(-)

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ).  If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one.  You should use "git fetch" and checkout or reset to the new
master.

You can see which trees have been included by looking in the Next/Trees
file in the source.  There are also quilt-import.log and merge.log
files in the Next directory.  Between each merge, the tree was built
with a ppc64_defconfig for powerpc, an allmodconfig for x86_64, a
multi_v7_defconfig for arm and a native build of tools/perf. After
the final fixups (if any), I do an x86_64 modules_install followed by
builds for x86_64 allnoconfig, powerpc allnoconfig (32 and 64 bit),
ppc44x_defconfig, allyesconfig and pseries_le_defconfig and i386, sparc
and sparc64 defconfig and htmldocs. And finally, a simple boot test
of the powerpc pseries_le_defconfig kernel in qemu (with and without
kvm enabled).

Below is a summary of the state of the merge.

I am currently merging 333 trees (counting Linus' and 87 trees of bug
fix patches pending for the current merge release).

Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next .  If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Randy Dunlap for doing many randconfig builds.  And to Paul
Gortmaker for triage and bug fixes.

-- 
Cheers,
Stephen Rothwell

$ git checkout master
$ git reset --hard stable
Merging origin/master (b75dba7f472c Merge tag 'libnvdimm-fixes-5.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm)
Merging fixes/fixes (e71ba9452f0b Linux 5.11-rc2)
Merging kbuild-current/fixes (efe6e3068067 kallsyms: fix nonconverging kallsyms table with lld)
Merging arc-current/for-curr (7c53f6b671f4 Linux 5.11-rc3)
Merging arm-current/fixes (4d62e81b60d4 ARM: kexec: fix oops after TLB are invalidated)
Merging arm64-fixes/for-next/fixes (22cd5edb2d9c arm64: Use simpler arithmetics for the linear map macros)
Merging arm-soc-fixes/arm/fixes (459630a3ebb4 Merge tag 'sunxi-fixes-for-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes)
Merging drivers-memory-fixes/fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging m68k-current/for-linus (2ae92e8b9b7e MAINTAINERS: Update m68k Mac entry)
Merging powerpc-fixes/fixes (24321ac668e4 powerpc/64/signal: Fix regression in __kernel_sigtramp_rt64() semantics)
Merging s390-fixes/fixes (e82080e1f456 s390: uv: Fix sysfs max number of VCPUs reporting)
Merging sparc/master (0a95a6d1a4cd sparc: use for_each_child_of_node() macro)
Merging fscrypt-current/for-stable (d19d8d345eec fscrypt: fix inline encryption not used on new files)
Merging net/master (225353c070fd net: ena: Update XDP verdict upon failure)
Merging bpf/master (6183f4d3a0a2 bpf: Check for integer overflow when using roundup_pow_of_two())
Merging ipsec/master (da64ae2d35d3 xfrm: Fix wraparound in xfrm_policy_addr_delta())
Merging netfilter/master (b3d2c7b876d4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf)
Merging ipvs/master (44a674d6f798 Merge tag 'mlx5-fixes-2021-01-26' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux)
Merging wireless-drivers/master (93a1d4791c10 mt76: dma: fix a possible memory leak in mt76_add_fragment())
Merging mac80211/master (b3d2c7b876d4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf)
Merging rdma-fixes/for-rc (1048ba83fb1c Linux 5.11-rc6)
Merging sound-current/for-linus (4841b8e6318a ALSA: hda/realtek: modify EAPD in the ALC886)
Merging sound-asoc-fixes/for-linus (13ddc74e2e01 Merge remote-tracking branch 'asoc/for-5.11' into asoc-linus)
Merging regmap-fixes/for-linus (19c329f68089 Linux 5.11-rc4)
Merging regulator-fixes/for-linus (f874736f1250 Merge remote-tracking branch 'regulator/for-5.11' into regulator-linus)
Merging spi-fixes/for-linus (157a6686bd26 Merge remote-tracking branch 'spi/for-5.11' into spi-linus)
Merging pci-current/for-linus (7e69d07d7c3c Revert "PCI/ASPM: Save/restore L1SS Capability for suspend/resume")
Merging driver-core.current/driver-core-linus (6ee1d745b7c9 Linux 5.11-rc5)
Merging tty.current/tty-linus (6ee1d745b7c9 Linux 5.11-rc5)
Merging usb.current/usb-linus (825b5991a46e Merge tag '5.11-rc6-smb3' of git://git.samba.org/sfrench/cifs-2.6)
Merging usb-gadget-fixes/fixes (129aa9734559 usb: raw-gadget: fix memory leak in gadget_setup)
Merging usb-serial-fixes/usb-linus (e478d6029dca USB: serial: option: Adding support for Cinterion MV31)
Merging usb-chipidea-fixes/for-usb-fixes (491b1bea0004 MAINTAINERS: update Peter Chen's email address)
Merging phy/fixes (9a8b9434c60f phy: mediatek: Add missing MODULE_DEVICE_TABLE())
Merging staging.current/staging-linus (6ee1d745b7c9 Linux 5.11-rc5)
Merging char-misc.current/char-misc-linus (6ee1d745b7c9 Linux 5.11-rc5)
Merging soundwire-fixes/fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging thunderbolt-fixes/fixes (4d395c5e7439 thunderbolt: Fix possible NULL pointer dereference in tb_acpi_add_link())
Merging input-current/for-linus (9bbd77d5bbc9 Input: xpad - sync supported devices with fork on GitHub)
Merging crypto-current/master (4f6543f28bb0 crypto: marvel/cesa - Fix tdma descriptor on 64-bit)
Merging ide/master (6800cd8cbc6e ide-acpi: use %*ph to print small buffer)
Merging vfio-fixes/for-linus (e4eccb853664 vfio/pci: Bypass IGD init in case of -ENODEV)
Merging kselftest-fixes/fixes (7a6eb7c34a78 selftests: Skip BPF seftests by default)
Merging modules-fixes/modules-linus (57baec7b1b04 scripts/nsdeps: make sure to pass all module source files to spatch)
Merging dmaengine-fixes/fixes (89e3becd8f82 dmaengine: idxd: check device state before issue command)
Merging backlight-fixes/for-backlight-fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging mtd-fixes/mtd/fixes (b135b3358d73 mtd: rawnand: omap: Use BCH private fields in the specific OOB layout)
Merging mfd-fixes/for-mfd-fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging v4l-dvb-fixes/fixes (ef357e02b6c4 media: rockchip: rkisp1: extend uapi array sizes)
Merging reset-fixes/reset/fixes (b460e0a9e240 reset: intel: add unspecified HAS_IOMEM dependency)
Merging mips-fixes/mips-fixes (7b490a8ab0f2 MIPS: OCTEON: fix unreachable code in octeon_irq_init_ciu)
Merging at91-fixes/at91-fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging omap-fixes/fixes (9bbce32a20d6 ARM: dts: am33xx: add aliases for mmc interfaces)
Merging kvm-fixes/master (031b91a5fe6f KVM: x86: Set so called 'reserved CR3 bits in LM mask' at vCPU reset)
Merging kvms390-fixes/master (735931f9a51a MAINTAINERS: add uv.c also to KVM/s390)
Merging hwmon-fixes/hwmon (4008bc7d3953 hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist)
Merging nvdimm-fixes/libnvdimm-fixes (7018c897c2f2 libnvdimm/dimm: Avoid race between probe and available_slots_show())
Merging btrfs-fixes/next-fixes (8655ef25f7e5 Merge branch 'misc-5.11' into next-fixes)
Merging vfs-fixes/fixes (d36a1dd9f77a dump_common_audit_data(): fix racy accesses to ->d_name)
Merging dma-mapping-fixes/for-linus (d17405d52bac dma-mapping: benchmark: fix kernel crash when dma_map_single fails)
Merging i3c-fixes/i3c/fixes (291b5c9870fc i3c/master/mipi-i3c-hci: Fix position of __maybe_unused in i3c_hci_of_match)
Merging drivers-x86-fixes/fixes (215164bfb714 platform/x86: dell-wmi-sysman: fix a NULL pointer dereference)
Merging samsung-krzk-fixes/fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging pinctrl-samsung-fixes/fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging devicetree-fixes/dt/linus (32ada6b0980d dt-bindings: Cleanup standard unit properties)
Merging scsi-fixes/fixes (8c65830ae162 scsi: lpfc: Fix EEH encountering oops with NVMe traffic)
Merging drm-fixes/drm-fixes (59854811c08c Merge tag 'drm-intel-fixes-2021-02-04' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes)
Merging amdgpu-fixes/drm-fixes (2c409ba81be2 drm/radeon: fix si_enable_smc_cac() failed issue)
Merging drm-intel-fixes/for-linux-next-fixes (88ebe1f572e2 drm/i915/dp: Fix LTTPR vswing/pre-emp setting in non-transparent mode)
Merging mmc-fixes/fixes (d7fb9c242095 mmc: sdhci-pltfm: Fix linking err for sdhci-brcmstb)
Merging rtc-fixes/rtc-fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging gnss-fixes/gnss-linus (7c53f6b671f4 Linux 5.11-rc3)
Merging hyperv-fixes/hyperv-fixes (fff7b5e6ee63 x86/hyperv: Initialize clockevents after LAPIC is initialized)
Merging soc-fsl-fixes/fix (2663b3388551 soc: fsl: dpio: Get the cpumask through cpumask_of(cpu))
Merging risc-v-fixes/fixes (de5f4b8f634b RISC-V: Define MAXPHYSMEM_1GB only for RV32)
Merging pidfd-fixes/fixes (a409ed156a90 Merge tag 'gpio-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio)
Merging fpga-fixes/fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging spdx/spdx-linus (6ee1d745b7c9 Linux 5.11-rc5)
Merging gpio-brgl-fixes/gpio/for-current (c07ea8d0b170 gpio: gpiolib: remove shadowed variable)
Merging gpio-intel-fixes/fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging pinctrl-intel-fixes/fixes (5c8fe583cce5 Linux 5.11-rc1)
Merging erofs-fixes/fixes (a30573b3cdc7 erofs: fix setting up pcluster for temporary pages)
Merging integrity-fixes/fixes (843385694721 evm: Fix a small race in init_desc())
Merging kunit-fixes/kunit-fixes (2b8fdbbf1c61 kunit: tool: move kunitconfig parsing into __init__, make it optional)
Merging ubifs-fixes/fixes (78c7d49f55d8 ubifs: journal: Make sure to not dirty twice for auth nodes)
Merging memblock-fixes/fixes (17cbe03872be mm/memblock: Fix typo in comment of memblock_phys_alloc_try_nid())
Merging cel-fixes/for-rc (bad4c6eb5eaa SUNRPC: Fix NFS READs that start at non-page-aligned offsets)
Merging drm-misc-fixes/for-linux-next-fixes (873e5bb9fbd9 drm/dp_mst: Don't report ports connected if nothing is attached to them)
Merging kspp-gustavo/for-next/kspp (36f9ff9e03de lib: Fix fall-through warnings for Clang)
Merging kbuild/for-next (49362029a00b kbuild: LD_VERSION redenomination)
Merging compiler-attributes/compiler-attributes (19c329f68089 Linux 5.11-rc4)
Merging dma-mapping/for-next (9dc00b25eadf dma-mapping: benchmark: pretend DMA is transmitting)
Merging asm-generic/master (38489db09b10 Merge branch 'asm-generic-fixes' into asm-generic)
Merging arc/for-next (def9d2780727 Linux 5.5-rc7)
Merging arm/for-next (171db91076f3 Merge branch 'devel-stable' into for-next)
Merging arm64/for-next/core (fb01b86f47a4 Merge branches 'for-next/cosmetic', 'for-next/crypto', 'for-next/faultaround', 'for-next/from-tip/irq/urgent', 'for-next/kexec', 'for-next/misc', 'for-next/mm', 'for-next/perf', 'for-next/random', 'for-next/rng', 'for-next/selftests', 'for-next/stacktrace', 'for-next/topology' and 'for-next/vdso' into for-next/core)
Merging arm-perf/for-next/perf (f0c140481d1b perf: Constify static struct attribute_group)
Merging arm-soc/for-next (63e3a045583b soc: document merges)
CONFLICT (content): Merge conflict in arch/arm/Kconfig.debug
Merging actions/for-next (006828d706fd Merge branch 'v5.12/defconfig' into for-next)
Merging amlogic/for-next (9bef1c3d66dd Merge branch 'v5.12/soc' into tmp/aml-rebuild)
Merging aspeed/for-next (41707a524026 Merge branches 'soc-for-v5.11' and 'defconfig-for-v5.11' into for-next)
Merging at91/at91-next (b212855041cd Merge branch 'at91-defconfig' into at91-next)
Merging drivers-memory/for-next (50af93f1fe88 Merge branch 'for-v5.12/tegra-mc' into for-next)
Merging imx-mxs/for-next (7535d59c5f11 Merge branch 'imx/defconfig' into for-next)
Merging keystone/next (9d2e21ed98a2 Merge branch 'for_5.12/drivers-soc' into next)
Merging mediatek/for-next (e6468af3b590 Merge branch 'v5.11-next/soc' into for-next)
Merging mvebu/for-next (8e03d45cb7de Merge branch 'mvebu/dt64' into mvebu/for-next)
Merging omap/for-next (01e73147cbf8 Merge branch 'fixes' into for-next)
Merging qcom/for-next (d79b47c59576 Merge branches 'arm64-defconfig-for-5.12', 'arm64-for-5.12', 'defconfig-for-5.12', 'drivers-for-5.12' and 'dts-for-5.12' into for-next)
Merging raspberrypi/for-next (fbdcf1d20126 ARM: dts: bcm2711: Add the CEC interrupt controller)
Merging realtek/for-next (486f29df6941 Merge branch 'v5.8/dt' into next)
Merging renesas/next (fc6f32116126 Merge branches 'renesas-arm-dt-for-v5.12' and 'renesas-drivers-for-v5.12' into renesas-next)
Merging reset/reset/next (d17655759b3f reset: Add devm_reset_control_get_optional_exclusive_released())
Merging rockchip/for-next (38051549ac38 Merge branch 'v5.12-clk/next' into for-next)
Merging samsung-krzk/for-next (f9e152f18310 Merge branch 'next/drivers' into for-next)
Merging scmi/for-linux-next (61556703b610 Merge tag 'for-linus-5.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml)
Merging stm32/stm32-next (a9c92a9671d7 ARM: dts: stm32: add #clock-cells property to usbphyc node on stm32mp151)
Merging sunxi/sunxi/for-next (a352e9e72aa3 Merge branch 'sunxi/dt-for-5.12-late' into sunxi/for-next)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-r16-parrot.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-a33-olinuxino.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-a31s-primo81.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-a31-m9.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun6i-a31-hummingbird.dts
Merging tegra/for-next (b62f4a3fbb22 Merge branch for-5.12/arm64/defconfig into for-next)
Merging ti-k3/ti-k3-next (1e3d655fe7b4 Merge branch 'ti-k3-config-next' into ti-k3-next)
Merging ti-k3-new/ti-k3-next (e37eac10bb5d Merge branch 'ti-k3-dts-next' into ti-k3-next)
Merging clk/clk-next (6370ad6c0e83 Merge branch 'clk-fixes' into clk-next)
Merging clk-renesas/renesas-clk (24ece96554a9 clk: renesas: cpg-mssr: Fix formatting issues for 'smstpcr_saved's documentation)
Merging clk-samsung/for-next (44a9e78f9242 clk: samsung: Prevent potential endless loop in the PLL ops)
Merging csky/linux-next (9d986b01feb9 csky: use free_initmem_default() in free_initmem())
Merging h8300/h8300-next (8808515be0ed h8300: Replace <linux/clk-provider.h> by <linux/of_clk.h>)
Merging m68k/for-next (c396dd2ec5bb macintosh/adb-iop: Use big-endian autopoll mask)
Merging m68knommu/for-next (9b4b540089d0 m68k: let clk_enable() return immediately if clk is NULL)
Merging microblaze/next (57ddf08642f0 microblaze: do not select TRACING_SUPPORT directly)
Merging mips/mips-next (1ddc96bd42da MIPS: kernel: Support extracting off-line stack traces from user-space with perf)
CONFLICT (content): Merge conflict in .mailmap
Merging nds32/next (54bde873682b nds32: Fix bogus reference to <asm/procinfo.h>)
Merging nios2/for-next (6b57fa4d374b nios2: signal: Mark expected switch fall-through)
Merging openrisc/for-next (2261352157a9 Merge remote-tracking branch 'openrisc/or1k-5.11-fixes' into or1k-5.12-updates)
Merging parisc-hd/for-next (5680f50cd93c parisc: Replace test_ti_thread_flag() with test_tsk_thread_flag())
Merging powerpc/next (6895c5ba7bdc powerpc/xmon: Select CONSOLE_POLL for the 8xx)
Merging fsl/next (a76bea0287ce powerpc/kmcent2: add ranges to the pci bridges)
Merging soc-fsl/next (e95f287deed2 soc: fsl: handle RCPM errata A-008646 on SoC LS1021A)
Merging risc-v/for-next (36c3d86ac4e7 arch_numa: fix common code printing of phys_addr_t)
CONFLICT (content): Merge conflict in drivers/soc/Makefile
CONFLICT (content): Merge conflict in drivers/soc/Kconfig
CONFLICT (content): Merge conflict in arch/arm64/mm/Makefile
Merging s390/for-next (58ccd7e11822 Merge branch 'features' into for-next)
Merging sh/for-next (b89bc060b53e sh/intc: Restore devm_ioremap() alignment)
Merging sparc-next/master (dd0d718152e4 Merge tag 'spi-fix-v5.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi)
Merging uml/linux-next (7f3414226b58 um: time: fix initialization in time-travel mode)
Merging xtensa/xtensa-for-next (7b79eba1d0d1 xtensa: fix spelling mistake in Kconfig "wont" -> "won't")
Merging pidfd/for-next (f69e8091c4a2 xfs: remove the possibly unused mp variable in xfs_file_compat_ioctl)
CONFLICT (content): Merge conflict in fs/overlayfs/inode.c
CONFLICT (content): Merge conflict in fs/overlayfs/copy_up.c
CONFLICT (content): Merge conflict in fs/ecryptfs/inode.c
Merging fscrypt/master (a14d0b676491 fscrypt: allow deleting files with unsupported encryption policy)
Merging fscache/fscache-next (1229f2c6f188 fscache: rectify minor kernel-doc issues)
CONFLICT (content): Merge conflict in include/linux/fs.h
Merging afs/afs-next (8409f67b6437 afs: Adjust the fileserver rotation algorithm to reprobe/retry more quickly)
Merging btrfs/for-next (b819c055721d Merge branch 'for-next-next-v5.11-20210204' into for-next-20210204)
Merging ceph/master (9d5ae6f3c50a libceph: fix "Boolean result is used in bitwise operation" warning)
Merging cifs/for-next (e7a692991604 cifs: convert readpages_fill_pages to use iter)
Merging configfs/for-next (65cdb4a214c0 configfs: fix kernel-doc markup issue)
Merging ecryptfs/next (902af369942f ecryptfs: use DEFINE_MUTEX() for mutex lock)
Merging erofs/dev (d8b3df8b1048 erofs: avoid using generic_block_bmap)
Merging exfat/dev (61dd9f0b09e0 exfat: improve performance of exfat_free_cluster when using dirsync mount option)
Merging ext3/for_next (c5b8ccc3da76 Pull udf & isofs UID/GID parsing fixes.)
Merging ext4/dev (b5776e7524af ext4: fix potential htree index checksum corruption)
Merging f2fs/dev (e65920661708 f2fs: add ckpt_thread_ioprio sysfs node)
CONFLICT (content): Merge conflict in fs/f2fs/file.c
CONFLICT (content): Merge conflict in fs/f2fs/acl.c
Merging fsverity/fsverity (db3b41f29c4f fs-verity: support reading signature with ioctl)
Merging fuse/for-next (5d069dbe8aaf fuse: fix bad inode)
Merging jfs/jfs-next (3bef198f1b17 JFS: more checks for invalid superblock)
Merging nfs/linux-next (1048ba83fb1c Linux 5.11-rc6)
Merging nfs-anna/linux-next (586a0787ce35 xprtrdma: Clean up rpcrdma_prepare_readch())
Merging nfsd/nfsd-next (c3213d260a23 SUNRPC: Fix oops in the rpc_xdr_buf event class)
Merging cel/for-next (428a23d2bf0c nfsd: skip some unnecessary stats in the v4 case)
Merging orangefs/for-next (c1048828c3db orangefs: add splice file operations)
Merging overlayfs/overlayfs-next (d46b7cd68336 ovl: plumb through flush method)
Merging ubifs/next (b80a974b8c58 ubifs: ubifs_dump_node: Dump all branches of the index node)
Merging v9fs/9p-next (324a158fe535 fs: 9p: add generic splice_write file operation)
Merging xfs/for-next (45068063efb7 xfs: fix incorrect root dquot corruption error when switching group/project quota types)
CONFLICT (content): Merge conflict in fs/xfs/xfs_ioctl.c
CONFLICT (content): Merge conflict in fs/xfs/xfs_inode.c
Merging zonefs/for-next (6716b125b339 zonefs: add tracepoints for file operations)
Merging iomap/iomap-for-next (ed1128c2d0c8 xfs: reduce exclusive locking on unaligned dio)
Merging djw-vfs/vfs-for-next (9b8523423b23 vfs: move __sb_{start,end}_write* to fs.h)
Merging file-locks/locks-next (8d1ddb5e7937 fcntl: Fix potential deadlock in send_sig{io, urg}())
Merging vfs/for-next (f012556f37ff Merge branch 'work.sendfile' into for-next)
CONFLICT (content): Merge conflict in fs/namei.c
CONFLICT (content): Merge conflict in fs/coredump.c
CONFLICT (content): Merge conflict in arch/Kconfig
Merging printk/for-next (fdaae9394da4 Merge branch 'printk-rework' into for-next)
Merging pci/next (ed3a5d46747a Merge branch 'remotes/lorenzo/pci/misc')
Merging pstore/for-next/pstore (26fecbf7602d pstore: Move kmsg_bytes default into Kconfig)
Merging hid/for-next (e3d1dbb6dede Merge branch 'for-5.11/upstream-fixes' into for-next)
CONFLICT (content): Merge conflict in arch/arm64/configs/defconfig
Merging i2c/i2c/for-next (eb77831e2a89 Merge branch 'i2c/for-5.12' into i2c/for-next)
Merging i3c/i3c/next (5c34b8e7e8bb i3c: master: dw: Drop redundant disec call)
Merging dmi/dmi-for-next (3cb4d29a2633 MAINTAINERS: The DMI/SMBIOS tree has moved)
Merging hwmon-staging/hwmon-next (996dc09c8e77 hwmon: (pmbus/max31785) Support revision "B")
Merging jc_docs/docs-next (1e013ff7cb54 docs: Document cross-referencing using relative path)
Merging v4l-dvb/master (9746b11715c3 media: i2c: Add imx334 camera sensor driver)
Merging v4l-dvb-next/master (d0a9fffedca1 docs: fs: api-summary.rst: get rid of kernel-doc include)
CONFLICT (content): Merge conflict in drivers/gpu/drm/drm_dp_helper.c
CONFLICT (content): Merge conflict in Documentation/dev-tools/kasan.rst
Merging fbdev/fbdev-for-next (732146a3f1dc video: fbdev: imxfb: fix a typo in imxfb_probe())
Merging pm/linux-next (5f8da9ef1c5d Merge branch 'sfi-removal' into linux-next)
$ git reset --hard HEAD^
Merging next-20210204 version of pm
Merging cpufreq-arm/cpufreq/arm/linux-next (7114ebffd330 cpufreq: remove tango driver)
Merging cpupower/cpupower (3a3ecfdb605c cpupower: Add cpuid cap flag for MSR_AMD_HWCR support)
Merging devfreq/devfreq-next (fc1745c0e40c PM / devfreq: rk3399_dmc: Remove unneeded semicolon)
Merging opp/opp/linux-next (86ad9a24f21e PM / devfreq: Add required OPPs support to passive governor)
Merging thermal/thermal/linux-next (7a583405f24b thermal: power allocator: fail binding for non-power actor devices)
Merging thermal-rzhang/next (54ecb8f7028c Linux 5.4-rc1)
Merging thermal-soc/next (6c375eccded4 thermal: db8500: Rewrite to be a pure OF sensor)
Merging ieee1394/for-next (67f8e65e4fc1 firewire: net: remove set but not used variable 'guid')
Merging dlm/next (4f19d071f9be fs: dlm: check on existing node address)
Merging swiotlb/linux-next (e998879d4fb7 x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guests)
Merging rdma/for-next (d6fd59e14ed2 IB/mlx5: Support default partition key for representor port)
Merging net-next/master (badc6ac32122 Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue)
Merging bpf-next/for-next (23a2d70c7a2f bpf: Refactor BPF_PSEUDO_CALL checking as a helper function)
CONFLICT (content): Merge conflict in net/ipv4/tcp.c
Merging ipsec-next/master (4ac7a6eecbec xfrm: Return the correct errno code)
Merging mlx5-next/mlx5-next (ab0da5a57188 net/mlx5: Expose ifc bits for query modify header)
Merging netfilter-next/master (badc6ac32122 Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue)
Merging ipvs-next/master (a61e4b60761f Merge branch 'net-dsa-hellcreek-add-taprio-offloading')
Merging wireless-drivers-next/master (badc6ac32122 Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue)
Merging bluetooth/master (10888140f09c Bluetooth: btusb: fix excessive stack usage)
Merging mac80211-next/master (4d469ec8ec05 Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue)
Merging gfs2/for-next (78178ca844f0 gfs2: Don't skip dlm unlock if glock has an lvb)
Merging mtd/mtd/next (106a3ec368fd mtd: st_spi_fsm: convert comma to semicolon)
Merging nand/nand/next (073abfa7ea9a mtd: rawnand: intel: Fix an error handling path in 'ebu_dma_start()')
Merging spi-nor/spi-nor/next (75386810d3a6 mtd: spi-nor: sst: Add support for Global Unlock on sst26vf)
Merging crypto/master (63b8ee4f548c crypto: crypto4xx - Avoid linking failure with HW_RANDOM=m)
Merging drm/drm-next (4c3a3292730c drm/amd/display: fix unused variable warning)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/gt/gen7_renderclear.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/display/intel_dp.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/display/intel_display.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/display/intel_ddi.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/pm/inc/smu_v11_0.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
Merging amdgpu/drm-next (dd30496ed1f9 drm/amdgpu: enable DPM_FLAG_MAY_SKIP_RESUME and DPM_FLAG_SMART_SUSPEND flags)
Applying: Revert "drm/amd/display: fix unused variable warning"
Merging drm-intel/for-linux-next (3c4442aa2287 drm/i915: Use intel_hdmi_port_clock() more)
Merging drm-tegra/drm/tegra/for-next (dcdfe2712b68 drm/tegra: Fix reference leak when pm_runtime_get_sync() fails)
Merging drm-misc/for-linux-next (1d048afe7e52 drm/lima: add governor data with pre-defined thresholds)
CONFLICT (content): Merge conflict in drivers/gpu/drm/ttm/ttm_pool.c
Merging drm-msm/msm-next (182b4a2d2513 drm/msm/dp: Add a missing semi-colon)
Merging imx-drm/imx-drm/next (82581fcf070b drm/modes: add non-OF stub for of_get_drm_display_mode)
Merging etnaviv/etnaviv/next (7d614ab2f205 drm/etnaviv: fix NULL check before some freeing functions is not needed)
Merging regmap/for-next (aa3233086b48 Merge remote-tracking branch 'regmap/for-5.12' into regmap-next)
Merging sound/for-next (c237813e3a10 ALSA: azt3328: Assign boolean values to a bool variable)
Merging sound-asoc/for-next (f7e250c46e54 Merge remote-tracking branch 'asoc/for-5.12' into asoc-next)
Merging modules/modules-next (ec2a29593c83 module: harden ELF info handling)
Merging input/next (7a6a53b2b1a3 Input: iqs5xx - initialize an uninitialized variable)
Merging block/for-next (11f8b6fd0db9 Merge branch 'for-5.12/io_uring' into for-next)
CONFLICT (content): Merge conflict in lib/iov_iter.c
CONFLICT (content): Merge conflict in fs/iomap/direct-io.c
CONFLICT (content): Merge conflict in Documentation/filesystems/porting.rst
Applying: block: bio: fix up for bi_disk removal
Applying: block: btrfs: another fix up for bi_disk removal
Merging device-mapper/for-next (f0e7035cc237 dm writecache: return the exact table values that were set)
Merging pcmcia/pcmcia-next (4ce6b242b78d pcmcia: Switch to using the new API kobj_to_dev())
Merging mmc/next (fdb7ef5b7d36 Merge branch 'fixes' into next)
Merging mfd/for-mfd-next (d0e648f2186a mfd: intel-lpss: Add Intel Alder Lake PCH-P PCI IDs)
Merging backlight/for-backlight-next (4a98e5ef88f8 backlight: sky81452-backlight: Convert comma to semicolon)
Merging battery/for-next (a72acc56f3e9 power-supply: use kobj_to_dev())
Merging regulator/for-next (887f14625c29 Merge remote-tracking branch 'regulator/for-5.12' into regulator-next)
Merging security/next-testing (9dcd47fc1f7d Merge branch 'fixes-v5.10' into next-testing)
Merging apparmor/apparmor-next (d108370c644b apparmor: fix error check)
Merging integrity/next-integrity (96acc833dec8 ima: Free IMA measurement buffer after kexec syscall)
CONFLICT (content): Merge conflict in security/integrity/ima/ima_policy.c
CONFLICT (content): Merge conflict in security/integrity/ima/ima_main.c
CONFLICT (content): Merge conflict in security/integrity/ima/ima_api.c
Merging keys/keys-next (fdbbe7ceeb95 Merge branch 'keys-cve-2020-26541' into keys-next)
Merging safesetid/safesetid-next (03ca0ec13892 LSM: SafeSetID: Fix warnings reported by test bot)
Merging selinux/next (365982aba1f2 fs: anon_inodes: rephrase to appropriate kernel-doc)
Merging smack/next (7ef4c19d245f smackfs: restrict bytes count in smackfs write functions)
Merging tomoyo/master (f1bdf414e7dd usb: usbip: vhci_hcd: add printk() for debug)
Merging tpmdd/next (5cb9c551cb13 tpm_tis: Clean up locality release)
Merging watchdog/master (a4f3407c4160 watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ)
Merging iommu/next (85c3e83d7dd5 Merge branches 'iommu/fixes', 'arm/renesas', 'arm/smmu', 'x86/amd', 'x86/vt-d' and 'core' into next)
Merging audit/next (127c8c5f0589 audit: Make audit_filter_syscall() return void)
Merging devicetree/for-next (eb90b4f8fb8b Merge branch 'dt/dtc-sync' into dt/next)
CONFLICT (content): Merge conflict in scripts/Makefile.lib
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/net/ti,k3-am654-cpsw-nuss.yaml
Merging mailbox/mailbox-for-next (5a6338cce9f4 mailbox: arm_mhuv2: Add driver)
Merging spi/for-next (000c6f2363b3 Merge remote-tracking branch 'spi/for-5.12' into spi-next)
Merging tip/auto-latest (a7e0bdf1b07e Merge branch 'irq/urgent')
Applying: Revert "sched/topology: Make sched_init_numa() use a set for the deduplicating sort"
Merging clockevents/timers/drivers/next (8ae954caf49a clocksource/drivers/sh_cmt: Fix potential deadlock when calling runtime PM)
Merging edac/edac-for-next (faf042d15093 Merge branch 'edac-amd64' into edac-for-next)
Merging irqchip/irq/irqchip-next (be1abc5ba4d2 irqchip/csky-mpintc: Prevent selection on unsupported platforms)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
Merging ftrace/for-next (4b9091e1c194 kernel: trace: preemptirq_delay_test: add cpu affinity)
Merging rcu/rcu/next (8e6a68bd0202 torture: Allow 1G of memory for torture.sh kvfree testing)
Merging kvm/next (a8ac864a7d6d KVM: x86: Add helper to consolidate "raw" reserved GPA mask calculations)
CONFLICT (content): Merge conflict in arch/x86/kvm/x86.c
Applying: linux-next: build failure after merge of the kvm tree
$ git reset --hard HEAD^
Merging next-20210204 version of kvm
Applying: linux-next: build failure after merge of the kvm tree
Merging kvm-arm/next (c102ea4351a5 Merge branch 'kvm-arm64/pmu-debug-fixes-5.11' into kvmarm-master/next)
Merging kvm-ppc/kvm-ppc-next (dc924b062488 KVM: SVM: check CR4 changes against vcpu->arch)
Merging kvms390/next (50a05be484cb KVM: s390: track synchronous pfault events in kvm_stat)
Merging xen-tip/linux-next (2e92493637a0 x86/xen: avoid warning in Xen pv guest with CONFIG_AMD_MEM_ENCRYPT enabled)
Merging percpu/for-next (7dd3050a0194 Merge branch 'for-5.12' into for-next)
Merging workqueues/for-next (e9ad2eb3d9ae workqueue: Use %s instead of function name)
Merging drivers-x86/for-next (fc4325a1a34a platform/x86: intel_scu_wdt: Drop mistakenly added const)
CONFLICT (content): Merge conflict in drivers/platform/x86/ideapad-laptop.c
CONFLICT (modify/delete): drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c deleted in HEAD and modified in drivers-x86/for-next. Version drivers-x86/for-next of drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c left in tree.
CONFLICT (modify/delete): drivers/gpu/drm/gma500/mdfld_output.c deleted in HEAD and modified in drivers-x86/for-next. Version drivers-x86/for-next of drivers/gpu/drm/gma500/mdfld_output.c left in tree.
CONFLICT (modify/delete): drivers/gpu/drm/gma500/mdfld_dsi_output.c deleted in HEAD and modified in drivers-x86/for-next. Version drivers-x86/for-next of drivers/gpu/drm/gma500/mdfld_dsi_output.c left in tree.
CONFLICT (modify/delete): drivers/gpu/drm/gma500/mdfld_device.c deleted in HEAD and modified in drivers-x86/for-next. Version drivers-x86/for-next of drivers/gpu/drm/gma500/mdfld_device.c left in tree.
CONFLICT (content): Merge conflict in drivers/gpu/drm/gma500/Kconfig
$ git rm -f drivers/gpu/drm/gma500/mdfld_device.c drivers/gpu/drm/gma500/mdfld_dsi_output.c drivers/gpu/drm/gma500/mdfld_output.c drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
Merging chrome-platform/for-next (4daeb395f175 platform/chrome: cros_ec: Call interrupt bottom half at probe time)
Merging hsi/for-next (aa57e77b3d28 HSI: Fix PM usage counter unbalance in ssi_hw_init)
Merging leds/for-next (d86464527681 leds: gpio: Set max brightness to 1)
Merging ipmi/for-next (fc26067c7417 ipmi: remove open coded version of SMBus block write)
Merging driver-core/driver-core-next (4731210c09f5 gpiolib: Bind gpio_device to a driver to enable fw_devlink=on by default)
Merging usb/usb-next (23e32a595e11 usb: musb: jz4740: Add missing CR to error strings)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
Merging usb-gadget/next (b2c586eb07ef usb: dwc2: Fix INTR OUT transfers in DDMA mode.)
Merging usb-serial/usb-next (1ef268039b79 USB: serial: ftdi_sio: restore divisor-encoding comments)
Merging usb-chipidea-next/for-usb-next (1ee18ded86ec usb: cdnsp: Removes some useless trace events)
Merging phy-next/next (d68f2cb09597 phy: cpcap-usb: Simplify bool conversion)
Merging tty/tty-next (81004f0bf7f0 dt-bindings: serial: imx: Switch to my personal address)
CONFLICT (content): Merge conflict in include/linux/tty.h
Merging char-misc/char-misc-next (37f1cda4381f Merge tag 'mhi-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next)
CONFLICT (content): Merge conflict in scripts/mod/file2alias.c
CONFLICT (content): Merge conflict in scripts/mod/devicetable-offsets.c
CONFLICT (content): Merge conflict in include/linux/mod_devicetable.h
CONFLICT (modify/delete): drivers/tty/n_tracesink.c deleted in char-misc/char-misc-next and modified in HEAD. Version HEAD of drivers/tty/n_tracesink.c left in tree.
CONFLICT (modify/delete): drivers/tty/n_tracerouter.c deleted in char-misc/char-misc-next and modified in HEAD. Version HEAD of drivers/tty/n_tracerouter.c left in tree.
$ git rm -f drivers/tty/n_tracerouter.c drivers/tty/n_tracesink.c
Merging extcon/extcon-next (226d336c1c75 extcon: max8997: Add CHGINS and CHGRM interrupt handling)
Merging soundwire/next (6d7a1ff71cbb soundwire: bus: clarify dev_err/dbg device references)
Merging thunderbolt/next (c6da62a219d0 thunderbolt: Add support for native USB4 _OSC)
Merging vfio/next (76adb20f924f Merge branch 'v5.12/vfio/next-vaddr' into v5.12/vfio/next)
Merging staging/staging-next (2faf12c57efe staging: vt665x: fix alignment constraints)
Merging mux/for-next (3516bd729358 Merge tag 's390-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux)
Merging icc/icc-next (6715ea06ced4 Merge branch 'icc-sdx55' into icc-next)
Merging dmaengine/next (ba61c3692034 dmaengine: xilinx_dma: Alloc tx descriptors GFP_NOWAIT)
Merging cgroup/for-next (00bfa16052cd Merge branch 'for-5.11-fixes' into for-next)
Merging scsi/for-next (61629796ed22 Merge branch 'misc' into for-next)
CONFLICT (modify/delete): drivers/scsi/gdth.c deleted in scsi/for-next and modified in HEAD. Version HEAD of drivers/scsi/gdth.c left in tree.
$ git rm -f drivers/scsi/gdth.c
Merging scsi-mkp/for-next (d2aacd36a8e0 scsi: MAINTAINERS: Adjust to reflect gdth scsi driver removal)
Merging vhost/linux-next (590874fffa4e virtio_net: Fix fall-through warnings for Clang)
Merging rpmsg/for-next (7cb4f293777e Merge branches 'hwspinlock-next', 'rpmsg-next' and 'rproc-next' into for-next)
Merging gpio/for-next (7ac554888233 MAINTAINERS: Remove reference to non-existing file)
Merging gpio-brgl/gpio/for-next (04d5e3bf0aa7 gpio: gpio-xilinx: Add check if width exceeds 32)
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/toshiba/tmpv7708-rm-mbrc.dts
Merging gpio-intel/for-next (c5318e248f52 gpio: msic: Drop driver from Makefile)
Merging pinctrl/for-next (d3e0c0572caf Merge branch 'devel' into for-next)
Merging pinctrl-intel/for-next (0e793a4e2834 pinctrl: tigerlake: Add Alder Lake-P ACPI ID)
Merging pinctrl-renesas/renesas-pinctrl (a5cda861ed57 pinctrl: renesas: r8a779a0: Add TPU pins, groups and functions)
Merging pinctrl-samsung/for-next (5c8fe583cce5 Linux 5.11-rc1)
Merging pwm/for-next (a2bc9b21fd3f pwm: Remove ZTE ZX driver)
Merging userns/for-next (95ebabde382c capabilities: Don't allow writing ambiguous v3 file capabilities)
Merging ktest/for-next (170f4869e662 ktest.pl: Fix the logic for truncating the size of the log file for email)
Merging random/dev (ab9a7e27044b random: avoid warnings for !CONFIG_NUMA builds)
Merging kselftest/next (df00d0298902 selftests/vDSO: fix -Wformat warning in vdso_test_correctness)
Merging y2038/y2038 (c4e71212a245 Revert "drm/etnaviv: reject timeouts with tv_nsec >= NSEC_PER_SEC")
Merging livepatching/for-next (81840f21d416 Merge branch 'for-5.12/doc' into for-next)
Merging coresight/next (1efbcec2ef8c coresight: cti: Reduce scope for the variable “cs_fwnode” in cti_plat_create_connection())
Merging rtc/rtc-next (7d6bec2868f6 rtc: s3c: quiet maybe-unused variable warning)
Merging nvdimm/libnvdimm-for-next (127c3d2e7e8a Merge branch 'for-5.11/dax' into for-5.11/libnvdimm)
Merging at24/at24/for-next (5c8fe583cce5 Linux 5.11-rc1)
Merging ntb/ntb-next (5c8fe583cce5 Linux 5.11-rc1)
Merging seccomp/for-next/seccomp (2c07343abd89 selftests/seccomp: Update kernel config)
Merging kspp/for-next/kspp (112b6a8e038d arm64: allow LTO to be selected)
CONFLICT (content): Merge conflict in include/asm-generic/vmlinux.lds.h
Merging gnss/gnss-next (45d5996e034c gnss: drop stray semicolons)
Merging fsi/next (4a851d714ead fsi: aspeed: Support CFAM reset GPIO)
Merging slimbus/for-next (0320ed0a8236 drivers: slimbus: Fix word resposible -> responsible in slimbus.h)
CONFLICT (content): Merge conflict in drivers/nvmem/Kconfig
Merging nvmem/for-next (667fbb3fcde1 nvmem: qcom-spmi-sdam: Fix uninitialized pdev pointer)
Merging xarray/main (80c1dbebf308 XArray: Fix splitting to non-zero orders)
Merging hyperv/hyperv-next (9c9e1c68259d iommu/hyperv: setup an IO-APIC IRQ remapping domain for root partition)
Merging auxdisplay/auxdisplay (b45616445a6e auxdisplay: Fix duplicate CHARLCD config symbol)
Merging kgdb/kgdb/for-next (d081a6e35316 kdb: Fix pager search for multi-line strings)
Merging hmm/hmm (3650b228f83a Linux 5.10-rc1)
Merging fpga/for-next (e41d4c011706 fpga: dfl: fme: Constify static attribute_group structs)
Merging kunit/test (e71ba9452f0b Linux 5.11-rc2)
Merging generic-ioremap/for-next (4bdc0d676a64 remove ioremap_nocache and devm_ioremap_nocache)
Merging cfi/cfi/next (5de15b610f78 mtd: hyperbus: add Renesas RPC-IF driver)
Merging kunit-next/kunit (e71ba9452f0b Linux 5.11-rc2)
Merging trivial/for-next (9ff9b0d392ea Merge tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next)
Merging zx2c4/for-next (16fbf79b0f83 Linux 5.6-rc7)
Merging mhi/mhi-next (026c5b1ec29c bus: mhi: pci_generic: Increase num of elements in hw event ring)
Merging memblock/for-next (097d43d85704 mm: memblock: remove return value of memblock_free_all())
Merging init/init-user-pointers (38b082236e77 initramfs: use vfs_utimes in do_copy)
Merging counters/counters (e71ba9452f0b Linux 5.11-rc2)
Merging iomem-mmap-vs-gup/topic/iomem-mmap-vs-gup (74b30195395c sysfs: Support zapping of binary attr mmaps)
Merging oprofile-removal/oprofile/removal (be65de6b03aa fs: Remove dcookies support)
Merging akpm-current/current (725e5888d42d initramfs-panic-with-memory-information-fix)
CONFLICT (content): Merge conflict in include/linux/pagemap.h
CONFLICT (content): Merge conflict in fs/hugetlbfs/inode.c
CONFLICT (content): Merge conflict in fs/btrfs/file.c
Applying: fs/ramfs/inode.c: update inode_operations.tmpfile
$ git checkout -b akpm remotes/origin/akpm/master
$ git rebase --onto master remotes/origin/akpm/master-base
Merging akpm/master (f48c02740323 secretmem: test: add basic selftest for memfd_secret(2))

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (objtool: warnings: 5)
  2021-02-08 12:52 linux-next: Tree for Feb 8 Stephen Rothwell
@ 2021-02-08 19:30 ` Randy Dunlap
  2021-02-08 21:21   ` Josh Poimboeuf
  2021-02-09  8:34   ` [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore() Peter Zijlstra
  2021-02-09  3:33 ` linux-next: Tree for Feb 8 (Warning at arch/x86/kernel/irq.c:390) Randy Dunlap
  1 sibling, 2 replies; 19+ messages in thread
From: Randy Dunlap @ 2021-02-08 19:30 UTC (permalink / raw)
  To: Stephen Rothwell, Linux Next Mailing List
  Cc: Linux Kernel Mailing List, Josh Poimboeuf, Peter Zijlstra

On 2/8/21 4:52 AM, Stephen Rothwell wrote:
> Hi all,
> 
> Changes since 20210205:
> 

on x86_64:

objtool warnings: (from 3 different randconfig builds)

drivers/input/touchscreen/elants_i2c.o: warning: objtool: elants_i2c_initialize() falls through to next function elants_i2c_resume()
~~~~~
fs/select.o: warning: objtool: do_sys_poll()+0x8e9: call to __ubsan_handle_sub_overflow() with UACCESS enabled
lib/iov_iter.o: warning: objtool: iovec_from_user.part.12()+0x2db: call to __ubsan_handle_add_overflow() with UACCESS enabled
~~~~~
vmlinux.o: warning: objtool: do_machine_check()+0x7ee: call to queue_task_work() leaves .noinstr.text section
vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section



What would you like from these?

-- 
~Randy
Reported-by: Randy Dunlap <rdunlap@infradead.org>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (objtool: warnings: 5)
  2021-02-08 19:30 ` linux-next: Tree for Feb 8 (objtool: warnings: 5) Randy Dunlap
@ 2021-02-08 21:21   ` Josh Poimboeuf
  2021-02-08 21:39     ` Randy Dunlap
  2021-02-09  8:06     ` Peter Zijlstra
  2021-02-09  8:34   ` [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore() Peter Zijlstra
  1 sibling, 2 replies; 19+ messages in thread
From: Josh Poimboeuf @ 2021-02-08 21:21 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Peter Zijlstra

On Mon, Feb 08, 2021 at 11:30:59AM -0800, Randy Dunlap wrote:
> On 2/8/21 4:52 AM, Stephen Rothwell wrote:
> > Hi all,
> > 
> > Changes since 20210205:
> > 
> 
> on x86_64:
> 
> objtool warnings: (from 3 different randconfig builds)
> 
> drivers/input/touchscreen/elants_i2c.o: warning: objtool: elants_i2c_initialize() falls through to next function elants_i2c_resume()

Randy, can you share the .o?  (you may need to gzip it, still waiting on
corporate IT to allow me to receive .o files)

> fs/select.o: warning: objtool: do_sys_poll()+0x8e9: call to __ubsan_handle_sub_overflow() with UACCESS enabled
> lib/iov_iter.o: warning: objtool: iovec_from_user.part.12()+0x2db: call to __ubsan_handle_add_overflow() with UACCESS enabled

Peter, we need the patch to prevent UBSAN with gcc7?

> vmlinux.o: warning: objtool: do_machine_check()+0x7ee: call to queue_task_work() leaves .noinstr.text section
> vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section

Peter?

-- 
Josh


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (objtool: warnings: 5)
  2021-02-08 21:21   ` Josh Poimboeuf
@ 2021-02-08 21:39     ` Randy Dunlap
  2021-02-09 22:59       ` Josh Poimboeuf
  2021-02-09  8:06     ` Peter Zijlstra
  1 sibling, 1 reply; 19+ messages in thread
From: Randy Dunlap @ 2021-02-08 21:39 UTC (permalink / raw)
  To: Josh Poimboeuf
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Peter Zijlstra

[-- Attachment #1: Type: text/plain, Size: 1149 bytes --]

On 2/8/21 1:21 PM, Josh Poimboeuf wrote:
> On Mon, Feb 08, 2021 at 11:30:59AM -0800, Randy Dunlap wrote:
>> On 2/8/21 4:52 AM, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> Changes since 20210205:
>>>
>>
>> on x86_64:
>>
>> objtool warnings: (from 3 different randconfig builds)
>>
>> drivers/input/touchscreen/elants_i2c.o: warning: objtool: elants_i2c_initialize() falls through to next function elants_i2c_resume()
> 
> Randy, can you share the .o?  (you may need to gzip it, still waiting on
> corporate IT to allow me to receive .o files)

Sure, no problem. It's attached.

>> fs/select.o: warning: objtool: do_sys_poll()+0x8e9: call to __ubsan_handle_sub_overflow() with UACCESS enabled
>> lib/iov_iter.o: warning: objtool: iovec_from_user.part.12()+0x2db: call to __ubsan_handle_add_overflow() with UACCESS enabled
> 
> Peter, we need the patch to prevent UBSAN with gcc7?
> 
>> vmlinux.o: warning: objtool: do_machine_check()+0x7ee: call to queue_task_work() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> 
> Peter?


thanks.
-- 
~Randy


[-- Attachment #2: elants_i2c.o.gz --]
[-- Type: application/gzip, Size: 15555 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (Warning at arch/x86/kernel/irq.c:390)
  2021-02-08 12:52 linux-next: Tree for Feb 8 Stephen Rothwell
  2021-02-08 19:30 ` linux-next: Tree for Feb 8 (objtool: warnings: 5) Randy Dunlap
@ 2021-02-09  3:33 ` Randy Dunlap
  2021-02-09 10:17   ` Borislav Petkov
  1 sibling, 1 reply; 19+ messages in thread
From: Randy Dunlap @ 2021-02-09  3:33 UTC (permalink / raw)
  To: Stephen Rothwell, Linux Next Mailing List
  Cc: Linux Kernel Mailing List, Borislav Petkov

On 2/8/21 4:52 AM, Stephen Rothwell wrote:
> Hi all,
> 
> Changes since 20210205:
> 

on x86_64:

Re: commit 1dba8a9538f5164eb8874eed4c7d6799a3c64963
Author: Borislav Petkov <bp@suse.de>
Date:   Thu Jan 7 13:29:05 2021 +0100
    thermal: Move therm_throt there from x86/mce

I am seeing this for CPU = 1,2,3:

[    0.002092] WARNING: CPU: 1 PID: 0 at ../arch/x86/kernel/irq.c:390 thermal_set_handler+0x16/0x35
[    0.002092] Modules linked in:
[    0.002092] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.11.0-rc6-next-20210208 #1
[    0.002092] Hardware name: TOSHIBA PORTEGE R835/Portable PC, BIOS Version 4.10   01/08/2013
[    0.002092] RIP: 0010:thermal_set_handler+0x16/0x35
[    0.002092] Code: 00 00 00 0f 85 e0 fe ff ff 5b 41 5c 41 5d 41 5e 41 5f 5d c3 48 85 ff 74 1c 48 81 3d f7 65 61 01 20 b4 41 b2 74 1b 55 48 89 e5 <0f> 0b 48 89 3d e8 65 61 01 5d c3 48 c7 05 db 65 61 01 20 b4 41 b2
[    0.002092] RSP: 0000:ffff9c5a00097e08 EFLAGS: 00010002
[    0.002092] RAX: 0000000000000007 RBX: 0000000000000007 RCX: 00000000000001b2
[    0.002092] RDX: 0000000000000000 RSI: 0000000000000007 RDI: ffffffffb2a6c9d3
[    0.002092] RBP: ffff9c5a00097e08 R08: ffff94c88ba51460 R09: 000000000003007f
[    0.002092] R10: ffff94c88ba51480 R11: 0000000000000000 R12: 0000000000000000
[    0.002092] R13: ffff94c88ba51480 R14: 0000000000000000 R15: 0000000000000000
[    0.002092] FS:  0000000000000000(0000) GS:ffff94c88ba40000(0000) knlGS:0000000000000000
[    0.002092] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.002092] CR2: 0000000000000000 CR3: 0000000093c0a001 CR4: 00000000000606a0
[    0.002092] Call Trace:
[    0.002092]  intel_init_thermal+0x25a/0x2e9
[    0.002092]  init_intel+0x562/0x585
[    0.002092]  identify_cpu+0x298/0x4b0
[    0.002092]  identify_secondary_cpu+0x1a/0x99
[    0.002092]  smp_store_cpu_info+0x5d/0x6b
[    0.002092]  start_secondary+0x5f/0x16c
[    0.002092]  secondary_startup_64_no_verify+0xc2/0xcb
[    0.002092] ---[ end trace 9f8e2ebc792bd614 ]---


-- 
~Randy
Reported-by: Randy Dunlap <rdunlap@infradead.org>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (objtool: warnings: 5)
  2021-02-08 21:21   ` Josh Poimboeuf
  2021-02-08 21:39     ` Randy Dunlap
@ 2021-02-09  8:06     ` Peter Zijlstra
  2021-02-09 23:23       ` [PATCH] ubsan: remove overflow checks Andrey Ryabinin
  1 sibling, 1 reply; 19+ messages in thread
From: Peter Zijlstra @ 2021-02-09  8:06 UTC (permalink / raw)
  To: Josh Poimboeuf
  Cc: Randy Dunlap, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, aryabinin, dvyukov, keescook

On Mon, Feb 08, 2021 at 03:21:53PM -0600, Josh Poimboeuf wrote:

> > fs/select.o: warning: objtool: do_sys_poll()+0x8e9: call to __ubsan_handle_sub_overflow() with UACCESS enabled
> > lib/iov_iter.o: warning: objtool: iovec_from_user.part.12()+0x2db: call to __ubsan_handle_add_overflow() with UACCESS enabled
> 
> Peter, we need the patch to prevent UBSAN with gcc7?

I send it a while ago, Andrey wasn't liking it or something :/ But yes,
UBSAN on <GCC8 is buggered. Randy ought to be aware of that though.
Maybe he wanted something like the below?


> > vmlinux.o: warning: objtool: do_machine_check()+0x7ee: call to queue_task_work() leaves .noinstr.text section
> > vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> 
> Peter?

The mce one is a rats nest, Boris has that on his todo list. I'll go
look at the lockdep one.


---
 lib/Kconfig.ubsan | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
index 3a0b1c930733..6e4634b3b40e 100644
--- a/lib/Kconfig.ubsan
+++ b/lib/Kconfig.ubsan
@@ -116,6 +116,7 @@ config UBSAN_SIGNED_OVERFLOW
 	bool "Perform checking for signed arithmetic overflow"
 	default UBSAN
 	depends on $(cc-option,-fsanitize=signed-integer-overflow)
+	depends on !CC_IS_GCC || GCC_VERSION >= 80000
 	help
 	  This option enables -fsanitize=signed-integer-overflow which checks
 	  for overflow of any arithmetic operations with signed integers.

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore()
  2021-02-08 19:30 ` linux-next: Tree for Feb 8 (objtool: warnings: 5) Randy Dunlap
  2021-02-08 21:21   ` Josh Poimboeuf
@ 2021-02-09  8:34   ` Peter Zijlstra
  2021-02-09 13:24     ` Mark Rutland
  1 sibling, 1 reply; 19+ messages in thread
From: Peter Zijlstra @ 2021-02-09  8:34 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Josh Poimboeuf, Mark Rutland


Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
From: Peter Zijlstra <peterz@infradead.org>
Date: Tue Feb 9 09:30:03 CET 2021

  vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section

As per the general rule that WARNs are allowed to violate noinstr to
get out, annotate it away.

Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 include/linux/irqflags.h |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/include/linux/irqflags.h
+++ b/include/linux/irqflags.h
@@ -153,8 +153,11 @@ do {						\
 extern void warn_bogus_irq_restore(void);
 #define raw_check_bogus_irq_restore()			\
 	do {						\
-		if (unlikely(!arch_irqs_disabled()))	\
+		if (unlikely(!arch_irqs_disabled())) {	\
+			instrumentation_begin();	\
 			warn_bogus_irq_restore();	\
+			instrumentation_end();		\
+		}					\
 	} while (0)
 #else
 #define raw_check_bogus_irq_restore() do { } while (0)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (Warning at arch/x86/kernel/irq.c:390)
  2021-02-09  3:33 ` linux-next: Tree for Feb 8 (Warning at arch/x86/kernel/irq.c:390) Randy Dunlap
@ 2021-02-09 10:17   ` Borislav Petkov
  0 siblings, 0 replies; 19+ messages in thread
From: Borislav Petkov @ 2021-02-09 10:17 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List, Linux Kernel Mailing List

On Mon, Feb 08, 2021 at 07:33:17PM -0800, Randy Dunlap wrote:
> On 2/8/21 4:52 AM, Stephen Rothwell wrote:
> > Hi all,
> > 
> > Changes since 20210205:
> > 
> 
> on x86_64:
> 
> Re: commit 1dba8a9538f5164eb8874eed4c7d6799a3c64963
> Author: Borislav Petkov <bp@suse.de>
> Date:   Thu Jan 7 13:29:05 2021 +0100
>     thermal: Move therm_throt there from x86/mce

That one is replaced with a better variant now and it should land in the
next linux-next, the one after next-20210208.

Thx.

-- 
Regards/Gruss,
    Boris.

SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer, HRB 36809, AG Nürnberg

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore()
  2021-02-09  8:34   ` [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore() Peter Zijlstra
@ 2021-02-09 13:24     ` Mark Rutland
  2021-02-09 16:03       ` Peter Zijlstra
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Rutland @ 2021-02-09 13:24 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Randy Dunlap, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Josh Poimboeuf

On Tue, Feb 09, 2021 at 09:34:10AM +0100, Peter Zijlstra wrote:
> 
> Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
> From: Peter Zijlstra <peterz@infradead.org>
> Date: Tue Feb 9 09:30:03 CET 2021
> 
>   vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> 
> As per the general rule that WARNs are allowed to violate noinstr to
> get out, annotate it away.
> 
> Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>

Whoops; sorry for missing that!

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
>  include/linux/irqflags.h |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> --- a/include/linux/irqflags.h
> +++ b/include/linux/irqflags.h
> @@ -153,8 +153,11 @@ do {						\
>  extern void warn_bogus_irq_restore(void);
>  #define raw_check_bogus_irq_restore()			\
>  	do {						\
> -		if (unlikely(!arch_irqs_disabled()))	\
> +		if (unlikely(!arch_irqs_disabled())) {	\
> +			instrumentation_begin();	\
>  			warn_bogus_irq_restore();	\
> +			instrumentation_end();		\
> +		}					\
>  	} while (0)
>  #else
>  #define raw_check_bogus_irq_restore() do { } while (0)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore()
  2021-02-09 13:24     ` Mark Rutland
@ 2021-02-09 16:03       ` Peter Zijlstra
  2021-02-09 16:13         ` Mark Rutland
                           ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Peter Zijlstra @ 2021-02-09 16:03 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Randy Dunlap, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Josh Poimboeuf

On Tue, Feb 09, 2021 at 01:24:30PM +0000, Mark Rutland wrote:
> On Tue, Feb 09, 2021 at 09:34:10AM +0100, Peter Zijlstra wrote:
> > 
> > Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
> > From: Peter Zijlstra <peterz@infradead.org>
> > Date: Tue Feb 9 09:30:03 CET 2021
> > 
> >   vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> > 
> > As per the general rule that WARNs are allowed to violate noinstr to
> > get out, annotate it away.
> > 
> > Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
> > Reported-by: Randy Dunlap <rdunlap@infradead.org>
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> 
> Whoops; sorry for missing that!
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>

This runs into sodding header hell on mips (and possibly others)

How's this then?

---
Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
From: Peter Zijlstra <peterz@infradead.org>
Date: Tue Feb 9 09:30:03 CET 2021

  vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section

As per the general rule that WARNs are allowed to violate noinstr to
get out, annotate it away.

Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
---
 include/linux/irqflags.h       |    5 ++++-
 kernel/locking/irqflag-debug.c |    4 +++-
 2 files changed, 7 insertions(+), 2 deletions(-)

--- a/kernel/locking/irqflag-debug.c
+++ b/kernel/locking/irqflag-debug.c
@@ -4,8 +4,10 @@
 #include <linux/export.h>
 #include <linux/irqflags.h>
 
-void warn_bogus_irq_restore(void)
+noinstr void warn_bogus_irq_restore(void)
 {
+	instrumentation_begin();
 	WARN_ONCE(1, "raw_local_irq_restore() called with IRQs enabled\n");
+	instrumentation_end();
 }
 EXPORT_SYMBOL(warn_bogus_irq_restore);

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore()
  2021-02-09 16:03       ` Peter Zijlstra
@ 2021-02-09 16:13         ` Mark Rutland
  2021-02-09 18:28         ` Randy Dunlap
  2021-02-10 13:59         ` [tip: locking/core] " tip-bot2 for Peter Zijlstra
  2 siblings, 0 replies; 19+ messages in thread
From: Mark Rutland @ 2021-02-09 16:13 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Randy Dunlap, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Josh Poimboeuf

On Tue, Feb 09, 2021 at 05:03:46PM +0100, Peter Zijlstra wrote:
> On Tue, Feb 09, 2021 at 01:24:30PM +0000, Mark Rutland wrote:
> > On Tue, Feb 09, 2021 at 09:34:10AM +0100, Peter Zijlstra wrote:
> > > 
> > > Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
> > > From: Peter Zijlstra <peterz@infradead.org>
> > > Date: Tue Feb 9 09:30:03 CET 2021
> > > 
> > >   vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> > > 
> > > As per the general rule that WARNs are allowed to violate noinstr to
> > > get out, annotate it away.
> > > 
> > > Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
> > > Reported-by: Randy Dunlap <rdunlap@infradead.org>
> > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> > 
> > Whoops; sorry for missing that!
> > 
> > Acked-by: Mark Rutland <mark.rutland@arm.com>
> 
> This runs into sodding header hell on mips (and possibly others)
> 
> How's this then?

Looks fine to me, FWIW.

Mark.

> 
> ---
> Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
> From: Peter Zijlstra <peterz@infradead.org>
> Date: Tue Feb 9 09:30:03 CET 2021
> 
>   vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> 
> As per the general rule that WARNs are allowed to violate noinstr to
> get out, annotate it away.
> 
> Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> Acked-by: Mark Rutland <mark.rutland@arm.com>
> ---
>  include/linux/irqflags.h       |    5 ++++-
>  kernel/locking/irqflag-debug.c |    4 +++-
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> --- a/kernel/locking/irqflag-debug.c
> +++ b/kernel/locking/irqflag-debug.c
> @@ -4,8 +4,10 @@
>  #include <linux/export.h>
>  #include <linux/irqflags.h>
>  
> -void warn_bogus_irq_restore(void)
> +noinstr void warn_bogus_irq_restore(void)
>  {
> +	instrumentation_begin();
>  	WARN_ONCE(1, "raw_local_irq_restore() called with IRQs enabled\n");
> +	instrumentation_end();
>  }
>  EXPORT_SYMBOL(warn_bogus_irq_restore);

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore()
  2021-02-09 16:03       ` Peter Zijlstra
  2021-02-09 16:13         ` Mark Rutland
@ 2021-02-09 18:28         ` Randy Dunlap
  2021-02-10 13:59         ` [tip: locking/core] " tip-bot2 for Peter Zijlstra
  2 siblings, 0 replies; 19+ messages in thread
From: Randy Dunlap @ 2021-02-09 18:28 UTC (permalink / raw)
  To: Peter Zijlstra, Mark Rutland
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Josh Poimboeuf

On 2/9/21 8:03 AM, Peter Zijlstra wrote:
> On Tue, Feb 09, 2021 at 01:24:30PM +0000, Mark Rutland wrote:
>> On Tue, Feb 09, 2021 at 09:34:10AM +0100, Peter Zijlstra wrote:
>>>
>>> Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
>>> From: Peter Zijlstra <peterz@infradead.org>
>>> Date: Tue Feb 9 09:30:03 CET 2021
>>>
>>>   vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
>>>
>>> As per the general rule that WARNs are allowed to violate noinstr to
>>> get out, annotate it away.
>>>
>>> Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
>>> Reported-by: Randy Dunlap <rdunlap@infradead.org>
>>> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
>>
>> Whoops; sorry for missing that!
>>
>> Acked-by: Mark Rutland <mark.rutland@arm.com>
> 
> This runs into sodding header hell on mips (and possibly others)
> 
> How's this then?
> 
> ---
> Subject: lockdep: Noinstr annotate warn_bogus_irq_restore()
> From: Peter Zijlstra <peterz@infradead.org>
> Date: Tue Feb 9 09:30:03 CET 2021
> 
>   vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> 
> As per the general rule that WARNs are allowed to violate noinstr to
> get out, annotate it away.
> 
> Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> Acked-by: Mark Rutland <mark.rutland@arm.com>

Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested

Thanks.

> ---
>  include/linux/irqflags.h       |    5 ++++-
>  kernel/locking/irqflag-debug.c |    4 +++-
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> --- a/kernel/locking/irqflag-debug.c
> +++ b/kernel/locking/irqflag-debug.c
> @@ -4,8 +4,10 @@
>  #include <linux/export.h>
>  #include <linux/irqflags.h>
>  
> -void warn_bogus_irq_restore(void)
> +noinstr void warn_bogus_irq_restore(void)
>  {
> +	instrumentation_begin();
>  	WARN_ONCE(1, "raw_local_irq_restore() called with IRQs enabled\n");
> +	instrumentation_end();
>  }
>  EXPORT_SYMBOL(warn_bogus_irq_restore);
> 


-- 
~Randy



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (objtool: warnings: 5)
  2021-02-08 21:39     ` Randy Dunlap
@ 2021-02-09 22:59       ` Josh Poimboeuf
  2021-02-10  0:16         ` Randy Dunlap
  0 siblings, 1 reply; 19+ messages in thread
From: Josh Poimboeuf @ 2021-02-09 22:59 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Peter Zijlstra

On Mon, Feb 08, 2021 at 01:39:03PM -0800, Randy Dunlap wrote:
> On 2/8/21 1:21 PM, Josh Poimboeuf wrote:
> > On Mon, Feb 08, 2021 at 11:30:59AM -0800, Randy Dunlap wrote:
> >> On 2/8/21 4:52 AM, Stephen Rothwell wrote:
> >>> Hi all,
> >>>
> >>> Changes since 20210205:
> >>>
> >>
> >> on x86_64:
> >>
> >> objtool warnings: (from 3 different randconfig builds)
> >>
> >> drivers/input/touchscreen/elants_i2c.o: warning: objtool: elants_i2c_initialize() falls through to next function elants_i2c_resume()
> > 
> > Randy, can you share the .o?  (you may need to gzip it, still waiting on
> > corporate IT to allow me to receive .o files)
> 
> Sure, no problem. It's attached.

Does this fix?

From: Josh Poimboeuf <jpoimboe@redhat.com>
Subject: [PATCH] input/elants_i2c: Detect enum overflow

If an enum value were to get added without updating this switch
statement, the unreachable() annotation would trigger undefined
behavior, causing execution to fall through the end of the function,
into the next one.

Make the error handling more robust for an unexpected enum value, by
doing BUG() instead of unreachable().

Fixes the following objtool warning:

  drivers/input/touchscreen/elants_i2c.o: warning: objtool: elants_i2c_initialize() falls through to next function elants_i2c_resume()

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
---
 drivers/input/touchscreen/elants_i2c.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
index 6f57ec579f00..4c2b579f6c8b 100644
--- a/drivers/input/touchscreen/elants_i2c.c
+++ b/drivers/input/touchscreen/elants_i2c.c
@@ -656,8 +656,7 @@ static int elants_i2c_initialize(struct elants_data *ts)
 			error = elants_i2c_query_ts_info_ektf(ts);
 		break;
 	default:
-		unreachable();
-		break;
+		BUG();
 	}
 
 	if (error)
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH] ubsan: remove overflow checks
  2021-02-09  8:06     ` Peter Zijlstra
@ 2021-02-09 23:23       ` Andrey Ryabinin
  2021-02-10  0:19         ` Kees Cook
  0 siblings, 1 reply; 19+ messages in thread
From: Andrey Ryabinin @ 2021-02-09 23:23 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, linux-next, Andrey Ryabinin, Peter Zijlstra,
	Josh Poimboeuf, Randy Dunlap, Stephen Rothwell, Dmitry Vyukov,
	Kees Cook, Alexander Viro

Since GCC 8.0 -fsanitize=signed-integer-overflow doesn't work with -fwrapv.
-fwrapv makes signed overflows defines and GCC essentially disables
ubsan checks. On GCC < 8.0 -fwrapv doesn't have influence on
-fsanitize=signed-integer-overflow setting, so it kinda works
but generates false-positves and violates uaccess rules:

lib/iov_iter.o: warning: objtool: iovec_from_user()+0x22d: call to __ubsan_handle_add_overflow() with UACCESS enabled

Disable signed overflow checks to avoid these problems.
Remove unsigned overflow checks as well.
Unsigned overflow appeared as side effect of the commit
 cdf8a76fda4a ("ubsan: move cc-option tests into Kconfig"),
but it never worked (kernel doesn't boot). And unsigned overflows
are allowed by C standard, so it just pointless.

Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
---
 lib/Kconfig.ubsan      | 17 -----------
 lib/test_ubsan.c       | 49 ------------------------------
 lib/ubsan.c            | 68 ------------------------------------------
 scripts/Makefile.ubsan |  2 --
 4 files changed, 136 deletions(-)

diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
index 3a0b1c930733..e5372a13511d 100644
--- a/lib/Kconfig.ubsan
+++ b/lib/Kconfig.ubsan
@@ -112,23 +112,6 @@ config UBSAN_UNREACHABLE
 	  This option enables -fsanitize=unreachable which checks for control
 	  flow reaching an expected-to-be-unreachable position.
 
-config UBSAN_SIGNED_OVERFLOW
-	bool "Perform checking for signed arithmetic overflow"
-	default UBSAN
-	depends on $(cc-option,-fsanitize=signed-integer-overflow)
-	help
-	  This option enables -fsanitize=signed-integer-overflow which checks
-	  for overflow of any arithmetic operations with signed integers.
-
-config UBSAN_UNSIGNED_OVERFLOW
-	bool "Perform checking for unsigned arithmetic overflow"
-	depends on $(cc-option,-fsanitize=unsigned-integer-overflow)
-	depends on !X86_32 # avoid excessive stack usage on x86-32/clang
-	help
-	  This option enables -fsanitize=unsigned-integer-overflow which checks
-	  for overflow of any arithmetic operations with unsigned integers. This
-	  currently causes x86 to fail to boot.
-
 config UBSAN_OBJECT_SIZE
 	bool "Perform checking for accesses beyond the end of objects"
 	default UBSAN
diff --git a/lib/test_ubsan.c b/lib/test_ubsan.c
index 5e5d9355ef49..7e7bbd0f3fd2 100644
--- a/lib/test_ubsan.c
+++ b/lib/test_ubsan.c
@@ -11,51 +11,6 @@ typedef void(*test_ubsan_fp)(void);
 			#config, IS_ENABLED(config) ? "y" : "n");	\
 	} while (0)
 
-static void test_ubsan_add_overflow(void)
-{
-	volatile int val = INT_MAX;
-	volatile unsigned int uval = UINT_MAX;
-
-	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
-	val += 2;
-
-	UBSAN_TEST(CONFIG_UBSAN_UNSIGNED_OVERFLOW);
-	uval += 2;
-}
-
-static void test_ubsan_sub_overflow(void)
-{
-	volatile int val = INT_MIN;
-	volatile unsigned int uval = 0;
-	volatile int val2 = 2;
-
-	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
-	val -= val2;
-
-	UBSAN_TEST(CONFIG_UBSAN_UNSIGNED_OVERFLOW);
-	uval -= val2;
-}
-
-static void test_ubsan_mul_overflow(void)
-{
-	volatile int val = INT_MAX / 2;
-	volatile unsigned int uval = UINT_MAX / 2;
-
-	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
-	val *= 3;
-
-	UBSAN_TEST(CONFIG_UBSAN_UNSIGNED_OVERFLOW);
-	uval *= 3;
-}
-
-static void test_ubsan_negate_overflow(void)
-{
-	volatile int val = INT_MIN;
-
-	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
-	val = -val;
-}
-
 static void test_ubsan_divrem_overflow(void)
 {
 	volatile int val = 16;
@@ -155,10 +110,6 @@ static void test_ubsan_object_size_mismatch(void)
 }
 
 static const test_ubsan_fp test_ubsan_array[] = {
-	test_ubsan_add_overflow,
-	test_ubsan_sub_overflow,
-	test_ubsan_mul_overflow,
-	test_ubsan_negate_overflow,
 	test_ubsan_shift_out_of_bounds,
 	test_ubsan_out_of_bounds,
 	test_ubsan_load_invalid_value,
diff --git a/lib/ubsan.c b/lib/ubsan.c
index bec38c64d6a6..26229973049d 100644
--- a/lib/ubsan.c
+++ b/lib/ubsan.c
@@ -163,74 +163,6 @@ static void ubsan_epilogue(void)
 	}
 }
 
-static void handle_overflow(struct overflow_data *data, void *lhs,
-			void *rhs, char op)
-{
-
-	struct type_descriptor *type = data->type;
-	char lhs_val_str[VALUE_LENGTH];
-	char rhs_val_str[VALUE_LENGTH];
-
-	if (suppress_report(&data->location))
-		return;
-
-	ubsan_prologue(&data->location, type_is_signed(type) ?
-			"signed-integer-overflow" :
-			"unsigned-integer-overflow");
-
-	val_to_string(lhs_val_str, sizeof(lhs_val_str), type, lhs);
-	val_to_string(rhs_val_str, sizeof(rhs_val_str), type, rhs);
-	pr_err("%s %c %s cannot be represented in type %s\n",
-		lhs_val_str,
-		op,
-		rhs_val_str,
-		type->type_name);
-
-	ubsan_epilogue();
-}
-
-void __ubsan_handle_add_overflow(void *data,
-				void *lhs, void *rhs)
-{
-
-	handle_overflow(data, lhs, rhs, '+');
-}
-EXPORT_SYMBOL(__ubsan_handle_add_overflow);
-
-void __ubsan_handle_sub_overflow(void *data,
-				void *lhs, void *rhs)
-{
-	handle_overflow(data, lhs, rhs, '-');
-}
-EXPORT_SYMBOL(__ubsan_handle_sub_overflow);
-
-void __ubsan_handle_mul_overflow(void *data,
-				void *lhs, void *rhs)
-{
-	handle_overflow(data, lhs, rhs, '*');
-}
-EXPORT_SYMBOL(__ubsan_handle_mul_overflow);
-
-void __ubsan_handle_negate_overflow(void *_data, void *old_val)
-{
-	struct overflow_data *data = _data;
-	char old_val_str[VALUE_LENGTH];
-
-	if (suppress_report(&data->location))
-		return;
-
-	ubsan_prologue(&data->location, "negation-overflow");
-
-	val_to_string(old_val_str, sizeof(old_val_str), data->type, old_val);
-
-	pr_err("negation of %s cannot be represented in type %s:\n",
-		old_val_str, data->type->type_name);
-
-	ubsan_epilogue();
-}
-EXPORT_SYMBOL(__ubsan_handle_negate_overflow);
-
-
 void __ubsan_handle_divrem_overflow(void *_data, void *lhs, void *rhs)
 {
 	struct overflow_data *data = _data;
diff --git a/scripts/Makefile.ubsan b/scripts/Makefile.ubsan
index 0e53a93e8f15..9e2092fd5206 100644
--- a/scripts/Makefile.ubsan
+++ b/scripts/Makefile.ubsan
@@ -8,8 +8,6 @@ ubsan-cflags-$(CONFIG_UBSAN_LOCAL_BOUNDS)	+= -fsanitize=local-bounds
 ubsan-cflags-$(CONFIG_UBSAN_SHIFT)		+= -fsanitize=shift
 ubsan-cflags-$(CONFIG_UBSAN_DIV_ZERO)		+= -fsanitize=integer-divide-by-zero
 ubsan-cflags-$(CONFIG_UBSAN_UNREACHABLE)	+= -fsanitize=unreachable
-ubsan-cflags-$(CONFIG_UBSAN_SIGNED_OVERFLOW)	+= -fsanitize=signed-integer-overflow
-ubsan-cflags-$(CONFIG_UBSAN_UNSIGNED_OVERFLOW)	+= -fsanitize=unsigned-integer-overflow
 ubsan-cflags-$(CONFIG_UBSAN_OBJECT_SIZE)	+= -fsanitize=object-size
 ubsan-cflags-$(CONFIG_UBSAN_BOOL)		+= -fsanitize=bool
 ubsan-cflags-$(CONFIG_UBSAN_ENUM)		+= -fsanitize=enum
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: linux-next: Tree for Feb 8 (objtool: warnings: 5)
  2021-02-09 22:59       ` Josh Poimboeuf
@ 2021-02-10  0:16         ` Randy Dunlap
  0 siblings, 0 replies; 19+ messages in thread
From: Randy Dunlap @ 2021-02-10  0:16 UTC (permalink / raw)
  To: Josh Poimboeuf
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, Peter Zijlstra

On 2/9/21 2:59 PM, Josh Poimboeuf wrote:
> On Mon, Feb 08, 2021 at 01:39:03PM -0800, Randy Dunlap wrote:
>> On 2/8/21 1:21 PM, Josh Poimboeuf wrote:
>>> On Mon, Feb 08, 2021 at 11:30:59AM -0800, Randy Dunlap wrote:
>>>> On 2/8/21 4:52 AM, Stephen Rothwell wrote:
>>>>> Hi all,
>>>>>
>>>>> Changes since 20210205:
>>>>>
>>>>
>>>> on x86_64:
>>>>
>>>> objtool warnings: (from 3 different randconfig builds)
>>>>
>>>> drivers/input/touchscreen/elants_i2c.o: warning: objtool: elants_i2c_initialize() falls through to next function elants_i2c_resume()
>>>
>>> Randy, can you share the .o?  (you may need to gzip it, still waiting on
>>> corporate IT to allow me to receive .o files)
>>
>> Sure, no problem. It's attached.
> 
> Does this fix?
> 
> From: Josh Poimboeuf <jpoimboe@redhat.com>
> Subject: [PATCH] input/elants_i2c: Detect enum overflow
> 
> If an enum value were to get added without updating this switch
> statement, the unreachable() annotation would trigger undefined
> behavior, causing execution to fall through the end of the function,
> into the next one.
> 
> Make the error handling more robust for an unexpected enum value, by
> doing BUG() instead of unreachable().
> 
> Fixes the following objtool warning:
> 
>   drivers/input/touchscreen/elants_i2c.o: warning: objtool: elants_i2c_initialize() falls through to next function elants_i2c_resume()
> 
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>

Yes, thanks.

Acked-by: Randy Dunlap <rdunlap@infradead.org>

> ---
>  drivers/input/touchscreen/elants_i2c.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
> index 6f57ec579f00..4c2b579f6c8b 100644
> --- a/drivers/input/touchscreen/elants_i2c.c
> +++ b/drivers/input/touchscreen/elants_i2c.c
> @@ -656,8 +656,7 @@ static int elants_i2c_initialize(struct elants_data *ts)
>  			error = elants_i2c_query_ts_info_ektf(ts);
>  		break;
>  	default:
> -		unreachable();
> -		break;
> +		BUG();
>  	}
>  
>  	if (error)
> 


-- 
~Randy


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] ubsan: remove overflow checks
  2021-02-09 23:23       ` [PATCH] ubsan: remove overflow checks Andrey Ryabinin
@ 2021-02-10  0:19         ` Kees Cook
  2021-02-10  7:50           ` Peter Zijlstra
  2021-02-10 11:55           ` Andrey Rybainin
  0 siblings, 2 replies; 19+ messages in thread
From: Kees Cook @ 2021-02-10  0:19 UTC (permalink / raw)
  To: Andrey Ryabinin
  Cc: Andrew Morton, linux-kernel, linux-next, Peter Zijlstra,
	Josh Poimboeuf, Randy Dunlap, Stephen Rothwell, Dmitry Vyukov,
	Alexander Viro

On Wed, Feb 10, 2021 at 02:23:48AM +0300, Andrey Ryabinin wrote:
> Since GCC 8.0 -fsanitize=signed-integer-overflow doesn't work with -fwrapv.
> -fwrapv makes signed overflows defines and GCC essentially disables
> ubsan checks. On GCC < 8.0 -fwrapv doesn't have influence on
> -fsanitize=signed-integer-overflow setting, so it kinda works
> but generates false-positves and violates uaccess rules:
> 
> lib/iov_iter.o: warning: objtool: iovec_from_user()+0x22d: call to __ubsan_handle_add_overflow() with UACCESS enabled
> 
> Disable signed overflow checks to avoid these problems.
> Remove unsigned overflow checks as well.
> Unsigned overflow appeared as side effect of the commit
>  cdf8a76fda4a ("ubsan: move cc-option tests into Kconfig"),
> but it never worked (kernel doesn't boot). And unsigned overflows
> are allowed by C standard, so it just pointless.
> 
> Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>

NAK, please don't remove the entire thing. I want this to work again
with -fwrapv, and it's not entirely broken under Clang. But the feature
shouldn't be removed from the kernel.

I'd prefer Peter's fix instead.

-Kees

> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Josh Poimboeuf <jpoimboe@redhat.com>
> Cc: Randy Dunlap <rdunlap@infradead.org>
> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
> Cc: Dmitry Vyukov <dvyukov@google.com>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Alexander Viro <viro@zeniv.linux.org.uk>
> ---
>  lib/Kconfig.ubsan      | 17 -----------
>  lib/test_ubsan.c       | 49 ------------------------------
>  lib/ubsan.c            | 68 ------------------------------------------
>  scripts/Makefile.ubsan |  2 --
>  4 files changed, 136 deletions(-)
> 
> diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
> index 3a0b1c930733..e5372a13511d 100644
> --- a/lib/Kconfig.ubsan
> +++ b/lib/Kconfig.ubsan
> @@ -112,23 +112,6 @@ config UBSAN_UNREACHABLE
>  	  This option enables -fsanitize=unreachable which checks for control
>  	  flow reaching an expected-to-be-unreachable position.
>  
> -config UBSAN_SIGNED_OVERFLOW
> -	bool "Perform checking for signed arithmetic overflow"
> -	default UBSAN
> -	depends on $(cc-option,-fsanitize=signed-integer-overflow)
> -	help
> -	  This option enables -fsanitize=signed-integer-overflow which checks
> -	  for overflow of any arithmetic operations with signed integers.
> -
> -config UBSAN_UNSIGNED_OVERFLOW
> -	bool "Perform checking for unsigned arithmetic overflow"
> -	depends on $(cc-option,-fsanitize=unsigned-integer-overflow)
> -	depends on !X86_32 # avoid excessive stack usage on x86-32/clang
> -	help
> -	  This option enables -fsanitize=unsigned-integer-overflow which checks
> -	  for overflow of any arithmetic operations with unsigned integers. This
> -	  currently causes x86 to fail to boot.
> -
>  config UBSAN_OBJECT_SIZE
>  	bool "Perform checking for accesses beyond the end of objects"
>  	default UBSAN
> diff --git a/lib/test_ubsan.c b/lib/test_ubsan.c
> index 5e5d9355ef49..7e7bbd0f3fd2 100644
> --- a/lib/test_ubsan.c
> +++ b/lib/test_ubsan.c
> @@ -11,51 +11,6 @@ typedef void(*test_ubsan_fp)(void);
>  			#config, IS_ENABLED(config) ? "y" : "n");	\
>  	} while (0)
>  
> -static void test_ubsan_add_overflow(void)
> -{
> -	volatile int val = INT_MAX;
> -	volatile unsigned int uval = UINT_MAX;
> -
> -	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
> -	val += 2;
> -
> -	UBSAN_TEST(CONFIG_UBSAN_UNSIGNED_OVERFLOW);
> -	uval += 2;
> -}
> -
> -static void test_ubsan_sub_overflow(void)
> -{
> -	volatile int val = INT_MIN;
> -	volatile unsigned int uval = 0;
> -	volatile int val2 = 2;
> -
> -	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
> -	val -= val2;
> -
> -	UBSAN_TEST(CONFIG_UBSAN_UNSIGNED_OVERFLOW);
> -	uval -= val2;
> -}
> -
> -static void test_ubsan_mul_overflow(void)
> -{
> -	volatile int val = INT_MAX / 2;
> -	volatile unsigned int uval = UINT_MAX / 2;
> -
> -	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
> -	val *= 3;
> -
> -	UBSAN_TEST(CONFIG_UBSAN_UNSIGNED_OVERFLOW);
> -	uval *= 3;
> -}
> -
> -static void test_ubsan_negate_overflow(void)
> -{
> -	volatile int val = INT_MIN;
> -
> -	UBSAN_TEST(CONFIG_UBSAN_SIGNED_OVERFLOW);
> -	val = -val;
> -}
> -
>  static void test_ubsan_divrem_overflow(void)
>  {
>  	volatile int val = 16;
> @@ -155,10 +110,6 @@ static void test_ubsan_object_size_mismatch(void)
>  }
>  
>  static const test_ubsan_fp test_ubsan_array[] = {
> -	test_ubsan_add_overflow,
> -	test_ubsan_sub_overflow,
> -	test_ubsan_mul_overflow,
> -	test_ubsan_negate_overflow,
>  	test_ubsan_shift_out_of_bounds,
>  	test_ubsan_out_of_bounds,
>  	test_ubsan_load_invalid_value,
> diff --git a/lib/ubsan.c b/lib/ubsan.c
> index bec38c64d6a6..26229973049d 100644
> --- a/lib/ubsan.c
> +++ b/lib/ubsan.c
> @@ -163,74 +163,6 @@ static void ubsan_epilogue(void)
>  	}
>  }
>  
> -static void handle_overflow(struct overflow_data *data, void *lhs,
> -			void *rhs, char op)
> -{
> -
> -	struct type_descriptor *type = data->type;
> -	char lhs_val_str[VALUE_LENGTH];
> -	char rhs_val_str[VALUE_LENGTH];
> -
> -	if (suppress_report(&data->location))
> -		return;
> -
> -	ubsan_prologue(&data->location, type_is_signed(type) ?
> -			"signed-integer-overflow" :
> -			"unsigned-integer-overflow");
> -
> -	val_to_string(lhs_val_str, sizeof(lhs_val_str), type, lhs);
> -	val_to_string(rhs_val_str, sizeof(rhs_val_str), type, rhs);
> -	pr_err("%s %c %s cannot be represented in type %s\n",
> -		lhs_val_str,
> -		op,
> -		rhs_val_str,
> -		type->type_name);
> -
> -	ubsan_epilogue();
> -}
> -
> -void __ubsan_handle_add_overflow(void *data,
> -				void *lhs, void *rhs)
> -{
> -
> -	handle_overflow(data, lhs, rhs, '+');
> -}
> -EXPORT_SYMBOL(__ubsan_handle_add_overflow);
> -
> -void __ubsan_handle_sub_overflow(void *data,
> -				void *lhs, void *rhs)
> -{
> -	handle_overflow(data, lhs, rhs, '-');
> -}
> -EXPORT_SYMBOL(__ubsan_handle_sub_overflow);
> -
> -void __ubsan_handle_mul_overflow(void *data,
> -				void *lhs, void *rhs)
> -{
> -	handle_overflow(data, lhs, rhs, '*');
> -}
> -EXPORT_SYMBOL(__ubsan_handle_mul_overflow);
> -
> -void __ubsan_handle_negate_overflow(void *_data, void *old_val)
> -{
> -	struct overflow_data *data = _data;
> -	char old_val_str[VALUE_LENGTH];
> -
> -	if (suppress_report(&data->location))
> -		return;
> -
> -	ubsan_prologue(&data->location, "negation-overflow");
> -
> -	val_to_string(old_val_str, sizeof(old_val_str), data->type, old_val);
> -
> -	pr_err("negation of %s cannot be represented in type %s:\n",
> -		old_val_str, data->type->type_name);
> -
> -	ubsan_epilogue();
> -}
> -EXPORT_SYMBOL(__ubsan_handle_negate_overflow);
> -
> -
>  void __ubsan_handle_divrem_overflow(void *_data, void *lhs, void *rhs)
>  {
>  	struct overflow_data *data = _data;
> diff --git a/scripts/Makefile.ubsan b/scripts/Makefile.ubsan
> index 0e53a93e8f15..9e2092fd5206 100644
> --- a/scripts/Makefile.ubsan
> +++ b/scripts/Makefile.ubsan
> @@ -8,8 +8,6 @@ ubsan-cflags-$(CONFIG_UBSAN_LOCAL_BOUNDS)	+= -fsanitize=local-bounds
>  ubsan-cflags-$(CONFIG_UBSAN_SHIFT)		+= -fsanitize=shift
>  ubsan-cflags-$(CONFIG_UBSAN_DIV_ZERO)		+= -fsanitize=integer-divide-by-zero
>  ubsan-cflags-$(CONFIG_UBSAN_UNREACHABLE)	+= -fsanitize=unreachable
> -ubsan-cflags-$(CONFIG_UBSAN_SIGNED_OVERFLOW)	+= -fsanitize=signed-integer-overflow
> -ubsan-cflags-$(CONFIG_UBSAN_UNSIGNED_OVERFLOW)	+= -fsanitize=unsigned-integer-overflow
>  ubsan-cflags-$(CONFIG_UBSAN_OBJECT_SIZE)	+= -fsanitize=object-size
>  ubsan-cflags-$(CONFIG_UBSAN_BOOL)		+= -fsanitize=bool
>  ubsan-cflags-$(CONFIG_UBSAN_ENUM)		+= -fsanitize=enum
> -- 
> 2.26.2
> 

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] ubsan: remove overflow checks
  2021-02-10  0:19         ` Kees Cook
@ 2021-02-10  7:50           ` Peter Zijlstra
  2021-02-10 11:55           ` Andrey Rybainin
  1 sibling, 0 replies; 19+ messages in thread
From: Peter Zijlstra @ 2021-02-10  7:50 UTC (permalink / raw)
  To: Kees Cook
  Cc: Andrey Ryabinin, Andrew Morton, linux-kernel, linux-next,
	Josh Poimboeuf, Randy Dunlap, Stephen Rothwell, Dmitry Vyukov,
	Alexander Viro

On Tue, Feb 09, 2021 at 04:19:03PM -0800, Kees Cook wrote:
> On Wed, Feb 10, 2021 at 02:23:48AM +0300, Andrey Ryabinin wrote:
> > Since GCC 8.0 -fsanitize=signed-integer-overflow doesn't work with -fwrapv.
> > -fwrapv makes signed overflows defines and GCC essentially disables
> > ubsan checks. On GCC < 8.0 -fwrapv doesn't have influence on
> > -fsanitize=signed-integer-overflow setting, so it kinda works
> > but generates false-positves and violates uaccess rules:
> > 
> > lib/iov_iter.o: warning: objtool: iovec_from_user()+0x22d: call to __ubsan_handle_add_overflow() with UACCESS enabled
> > 
> > Disable signed overflow checks to avoid these problems.
> > Remove unsigned overflow checks as well.
> > Unsigned overflow appeared as side effect of the commit
> >  cdf8a76fda4a ("ubsan: move cc-option tests into Kconfig"),
> > but it never worked (kernel doesn't boot). And unsigned overflows
> > are allowed by C standard, so it just pointless.
> > 
> > Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
> 
> NAK, please don't remove the entire thing. I want this to work again
> with -fwrapv, and it's not entirely broken under Clang. But the feature
> shouldn't be removed from the kernel.
> 
> I'd prefer Peter's fix instead.

But what do you want it to do? This is UBsan, there's no UB.

If you want signed overflow warnings, call it something else. But I'll
still hate it :-)

FWIW:

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] ubsan: remove overflow checks
  2021-02-10  0:19         ` Kees Cook
  2021-02-10  7:50           ` Peter Zijlstra
@ 2021-02-10 11:55           ` Andrey Rybainin
  1 sibling, 0 replies; 19+ messages in thread
From: Andrey Rybainin @ 2021-02-10 11:55 UTC (permalink / raw)
  To: Kees Cook
  Cc: Andrew Morton, linux-kernel, linux-next, Peter Zijlstra,
	Josh Poimboeuf, Randy Dunlap, Stephen Rothwell, Dmitry Vyukov,
	Alexander Viro



On 2/10/21 3:19 AM, Kees Cook wrote:
> On Wed, Feb 10, 2021 at 02:23:48AM +0300, Andrey Ryabinin wrote:
>> Since GCC 8.0 -fsanitize=signed-integer-overflow doesn't work with -fwrapv.
>> -fwrapv makes signed overflows defines and GCC essentially disables
>> ubsan checks. On GCC < 8.0 -fwrapv doesn't have influence on
>> -fsanitize=signed-integer-overflow setting, so it kinda works
>> but generates false-positves and violates uaccess rules:
>>
>> lib/iov_iter.o: warning: objtool: iovec_from_user()+0x22d: call to __ubsan_handle_add_overflow() with UACCESS enabled
>>
>> Disable signed overflow checks to avoid these problems.
>> Remove unsigned overflow checks as well.
>> Unsigned overflow appeared as side effect of the commit
>>  cdf8a76fda4a ("ubsan: move cc-option tests into Kconfig"),
>> but it never worked (kernel doesn't boot). And unsigned overflows
>> are allowed by C standard, so it just pointless.
>>
>> Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
> 
> NAK, please don't remove the entire thing. I want this to work again
> with -fwrapv, and it's not entirely broken under Clang. But the feature
> shouldn't be removed from the kernel.
> 

This is dead code. How exactly it's useful to keep it? You can always resurrect it later when you'll need it.
Clang has the same behavior as GCC > 8, signed-integer-overflow does nothing when compiled -fwrapv or -fno-strict-overflow


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [tip: locking/core] lockdep: Noinstr annotate warn_bogus_irq_restore()
  2021-02-09 16:03       ` Peter Zijlstra
  2021-02-09 16:13         ` Mark Rutland
  2021-02-09 18:28         ` Randy Dunlap
@ 2021-02-10 13:59         ` tip-bot2 for Peter Zijlstra
  2 siblings, 0 replies; 19+ messages in thread
From: tip-bot2 for Peter Zijlstra @ 2021-02-10 13:59 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Randy Dunlap, Peter Zijlstra (Intel), Mark Rutland, x86, linux-kernel

The following commit has been merged into the locking/core branch of tip:

Commit-ID:     c8cc7e853192d520ab6a5957f5081034103587ae
Gitweb:        https://git.kernel.org/tip/c8cc7e853192d520ab6a5957f5081034103587ae
Author:        Peter Zijlstra <peterz@infradead.org>
AuthorDate:    Tue, 09 Feb 2021 09:30:03 +01:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Wed, 10 Feb 2021 14:44:39 +01:00

lockdep: Noinstr annotate warn_bogus_irq_restore()

  vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section

As per the general rule that WARNs are allowed to violate noinstr to
get out, annotate it away.

Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Link: https://lkml.kernel.org/r/YCKyYg53mMp4E7YI@hirez.programming.kicks-ass.net
---
 kernel/locking/irqflag-debug.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/locking/irqflag-debug.c b/kernel/locking/irqflag-debug.c
index 9603d20..810b503 100644
--- a/kernel/locking/irqflag-debug.c
+++ b/kernel/locking/irqflag-debug.c
@@ -4,8 +4,10 @@
 #include <linux/export.h>
 #include <linux/irqflags.h>
 
-void warn_bogus_irq_restore(void)
+noinstr void warn_bogus_irq_restore(void)
 {
+	instrumentation_begin();
 	WARN_ONCE(1, "raw_local_irq_restore() called with IRQs enabled\n");
+	instrumentation_end();
 }
 EXPORT_SYMBOL(warn_bogus_irq_restore);

^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2021-02-10 14:02 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-08 12:52 linux-next: Tree for Feb 8 Stephen Rothwell
2021-02-08 19:30 ` linux-next: Tree for Feb 8 (objtool: warnings: 5) Randy Dunlap
2021-02-08 21:21   ` Josh Poimboeuf
2021-02-08 21:39     ` Randy Dunlap
2021-02-09 22:59       ` Josh Poimboeuf
2021-02-10  0:16         ` Randy Dunlap
2021-02-09  8:06     ` Peter Zijlstra
2021-02-09 23:23       ` [PATCH] ubsan: remove overflow checks Andrey Ryabinin
2021-02-10  0:19         ` Kees Cook
2021-02-10  7:50           ` Peter Zijlstra
2021-02-10 11:55           ` Andrey Rybainin
2021-02-09  8:34   ` [PATCH] lockdep: Noinstr annotate warn_bogus_irq_restore() Peter Zijlstra
2021-02-09 13:24     ` Mark Rutland
2021-02-09 16:03       ` Peter Zijlstra
2021-02-09 16:13         ` Mark Rutland
2021-02-09 18:28         ` Randy Dunlap
2021-02-10 13:59         ` [tip: locking/core] " tip-bot2 for Peter Zijlstra
2021-02-09  3:33 ` linux-next: Tree for Feb 8 (Warning at arch/x86/kernel/irq.c:390) Randy Dunlap
2021-02-09 10:17   ` Borislav Petkov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.