Skip to content

Sync with v6.0-rc7 #889

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10,000 commits into from
Sep 27, 2022
Merged

Sync with v6.0-rc7 #889

merged 10,000 commits into from
Sep 27, 2022

Conversation

ojeda
Copy link
Member

@ojeda ojeda commented Sep 27, 2022

Conflicts and required changes:

  • CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 does not exist anymore.
  • MAINTAINERS had RUNTIME VERIFICATION (RV) added nearby.
  • Makefile had io_uring added nearby.
  • Makefile.debug was rearranged.
  • To avoid a stack frame size warning in arm debug, enable CRYPTO in order to enable CRYPTO_MANAGER_DISABLE_TESTS.

Intended to be in sync with rust-next and v10.

Diff of diffs
--- old.diff	2022-09-27 06:43:43.036425776 +0200
+++ new.diff	2022-09-27 07:20:34.050454139 +0200
@@ -1695,10 +1695,10 @@
 +      - run: ccache -s
 diff --git a/.github/workflows/kernel-arm-debug.config b/.github/workflows/kernel-arm-debug.config
 new file mode 100644
-index 000000000000..83d8b504a09b
+index 000000000000..c91d8bdb3c63
 --- /dev/null
 +++ b/.github/workflows/kernel-arm-debug.config
-@@ -0,0 +1,1836 @@
+@@ -0,0 +1,1837 @@
 +#
 +# Automatically generated file; DO NOT EDIT.
 +# Linux/arm 5.12.0-rc4 Kernel Configuration
@@ -3157,7 +3157,8 @@
 +# end of Kernel hardening options
 +# end of Security options
 +
-+# CONFIG_CRYPTO is not set
++CONFIG_CRYPTO=y
++CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
 +CONFIG_BINARY_PRINTF=y
 +
 +#
@@ -23017,10 +23018,10 @@
  ======
  
 diff --git a/Documentation/doc-guide/kernel-doc.rst b/Documentation/doc-guide/kernel-doc.rst
-index a7cb2afd7990..9b868d9eb20f 100644
+index 9c779bd7a751..1dcbd7332476 100644
 --- a/Documentation/doc-guide/kernel-doc.rst
 +++ b/Documentation/doc-guide/kernel-doc.rst
-@@ -12,6 +12,9 @@ when it is embedded in source files.
+@@ -14,6 +14,9 @@ when it is embedded in source files.
     reasons. The kernel source contains tens of thousands of kernel-doc
     comments. Please stick to the style described here.
  
@@ -23031,7 +23032,7 @@
  `Sphinx C Domain`_ function and type descriptions with anchors are
  generated from them. The descriptions are filtered for special kernel-doc
 diff --git a/Documentation/index.rst b/Documentation/index.rst
-index 67036a05b771..35d90903242a 100644
+index 4737c18c97ff..00722aa20cd7 100644
 --- a/Documentation/index.rst
 +++ b/Documentation/index.rst
 @@ -82,6 +82,7 @@ merged much easier.
@@ -23849,12 +23850,12 @@
 +  - Some versions of GDB (e.g. vanilla GDB 10.1) are able to use
 +    the pre-demangled names embedded in the debug info (``CONFIG_DEBUG_INFO``).
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 64379c699903..263ff9abca0b 100644
+index f5ca4aefd184..944dc265b64d 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -17477,6 +17477,24 @@ L:	[email protected]
- S:	Maintained
- F:	drivers/infiniband/ulp/rtrs/
+@@ -17758,6 +17758,24 @@ F:	include/rv/
+ F:	kernel/trace/rv/
+ F:	tools/verification/
  
 +RUST
 +M:	Miguel Ojeda <[email protected]>
@@ -23878,7 +23879,7 @@
  M:	David Howells <[email protected]>
  M:	Marc Dionne <[email protected]>
 diff --git a/Makefile b/Makefile
-index df92892325ae..a105cb893b4c 100644
+index 647a42a1f800..883517a0e2ae 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -120,6 +120,15 @@ endif
@@ -23897,7 +23898,7 @@
  # Use make M=dir or set the environment variable KBUILD_EXTMOD to specify the
  # directory of external module to build. Setting M= takes precedence.
  ifeq ("$(origin M)", "command line")
-@@ -267,14 +276,14 @@ no-dot-config-targets := $(clean-targets) \
+@@ -270,14 +279,14 @@ no-dot-config-targets := $(clean-targets) \
  			 cscope gtags TAGS tags help% %docs check% coccicheck \
  			 $(version_h) headers headers_% archheaders archscripts \
  			 %asm-generic kernelversion %src-pkg dt_binding_check \
@@ -23914,7 +23915,7 @@
  
  config-build	:=
  mixed-build	:=
-@@ -436,6 +445,7 @@ else
+@@ -439,6 +448,7 @@ else
  HOSTCC	= gcc
  HOSTCXX	= g++
  endif
@@ -23922,7 +23923,7 @@
  HOSTPKG_CONFIG	= pkg-config
  
  KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
-@@ -444,8 +454,26 @@ KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
+@@ -447,8 +457,26 @@ KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
  KBUILD_USERCFLAGS  := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS)
  KBUILD_USERLDFLAGS := $(USERLDFLAGS)
  
@@ -23949,7 +23950,7 @@
  KBUILD_HOSTLDFLAGS  := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
  KBUILD_HOSTLDLIBS   := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
  
-@@ -470,6 +498,12 @@ OBJDUMP		= $(CROSS_COMPILE)objdump
+@@ -473,6 +501,12 @@ OBJDUMP		= $(CROSS_COMPILE)objdump
  READELF		= $(CROSS_COMPILE)readelf
  STRIP		= $(CROSS_COMPILE)strip
  endif
@@ -23962,7 +23963,7 @@
  PAHOLE		= pahole
  RESOLVE_BTFIDS	= $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
  LEX		= flex
-@@ -495,9 +529,11 @@ CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
+@@ -498,9 +532,11 @@ CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
  		  -Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
  NOSTDINC_FLAGS :=
  CFLAGS_MODULE   =
@@ -23974,7 +23975,7 @@
  AFLAGS_KERNEL	=
  LDFLAGS_vmlinux =
  
-@@ -526,15 +562,42 @@ KBUILD_CFLAGS   := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
+@@ -529,15 +565,42 @@ KBUILD_CFLAGS   := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
  		   -Werror=return-type -Wno-format-security \
  		   -std=gnu11
  KBUILD_CPPFLAGS := -D__KERNEL__
@@ -24017,7 +24018,7 @@
  export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
  export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
  export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
-@@ -543,9 +606,10 @@ export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS
+@@ -546,9 +609,10 @@ export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS
  
  export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
  export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
@@ -24030,7 +24031,7 @@
  export PAHOLE_FLAGS
  
  # Files to ignore in find ... statements
-@@ -726,7 +790,7 @@ $(KCONFIG_CONFIG):
+@@ -729,7 +793,7 @@ $(KCONFIG_CONFIG):
  #
  # Do not use $(call cmd,...) here. That would suppress prompts from syncconfig,
  # so you cannot notice that Kconfig is waiting for the user input.
@@ -24039,14 +24040,11 @@
  	$(Q)$(kecho) "  SYNC    $@"
  	$(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
  else # !may-sync-config
-@@ -755,12 +819,20 @@ KBUILD_CFLAGS	+= $(call cc-disable-warning, address-of-packed-member)
+@@ -758,10 +822,17 @@ KBUILD_CFLAGS	+= $(call cc-disable-warning, address-of-packed-member)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
  KBUILD_CFLAGS += -O2
 +KBUILD_RUSTFLAGS += -Copt-level=2
- else ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
- KBUILD_CFLAGS += -O3
-+KBUILD_RUSTFLAGS += -Copt-level=3
  else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
  KBUILD_CFLAGS += -Os
 +KBUILD_RUSTFLAGS += -Copt-level=s
@@ -24060,7 +24058,7 @@
  # Tell gcc to never replace conditional load with a non-conditional one
  ifdef CONFIG_CC_IS_GCC
  # gcc-10 renamed --param=allow-store-data-races=0 to
-@@ -791,6 +863,9 @@ KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror
+@@ -792,6 +863,9 @@ KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror
  KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
  KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
  
@@ -24070,7 +24068,7 @@
  ifdef CONFIG_CC_IS_CLANG
  KBUILD_CPPFLAGS += -Qunused-arguments
  # The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
-@@ -811,12 +886,15 @@ KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
+@@ -812,12 +886,15 @@ KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
  
  ifdef CONFIG_FRAME_POINTER
  KBUILD_CFLAGS	+= -fno-omit-frame-pointer -fno-optimize-sibling-calls
@@ -24086,7 +24084,7 @@
  ifndef CONFIG_FUNCTION_TRACER
  KBUILD_CFLAGS	+= -fomit-frame-pointer
  endif
-@@ -881,8 +959,10 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
+@@ -882,8 +959,10 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
  KBUILD_CFLAGS += -fno-inline-functions-called-once
  endif
  
@@ -24097,7 +24095,7 @@
  LDFLAGS_vmlinux += --gc-sections
  endif
  
-@@ -1025,10 +1105,11 @@ include $(addprefix $(srctree)/, $(include-y))
+@@ -1026,10 +1105,11 @@ include $(addprefix $(srctree)/, $(include-y))
  # Do not add $(call cc-option,...) below this line. When you build the kernel
  # from the clean source tree, the GCC plugins do not exist at this point.
  
@@ -24110,15 +24108,15 @@
  
  KBUILD_LDFLAGS_MODULE += --build-id=sha1
  LDFLAGS_vmlinux += --build-id=sha1
-@@ -1097,6 +1178,7 @@ export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps
- ifeq ($(KBUILD_EXTMOD),)
+@@ -1104,6 +1184,7 @@ ifeq ($(KBUILD_EXTMOD),)
  core-y			+= kernel/ certs/ mm/ fs/ ipc/ security/ crypto/
  core-$(CONFIG_BLOCK)	+= block/
+ core-$(CONFIG_IO_URING)	+= io_uring/
 +core-$(CONFIG_RUST)	+= rust/
  
  vmlinux-dirs	:= $(patsubst %/,%,$(filter %/, \
  		     $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
-@@ -1201,6 +1283,10 @@ prepare0: archprepare
+@@ -1206,6 +1287,10 @@ prepare0: archprepare
  
  # All the preparing..
  prepare: prepare0
@@ -24129,7 +24127,7 @@
  
  PHONY += remove-stale-files
  remove-stale-files:
-@@ -1490,7 +1576,7 @@ endif # CONFIG_MODULES
+@@ -1499,7 +1584,7 @@ endif # CONFIG_MODULES
  # Directories & files removed with 'make clean'
  CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \
  	       modules.builtin modules.builtin.modinfo modules.nsdeps \
@@ -24138,7 +24136,7 @@
  
  # Directories & files removed with 'make mrproper'
  MRPROPER_FILES += include/config include/generated          \
-@@ -1501,7 +1587,8 @@ MRPROPER_FILES += include/config include/generated          \
+@@ -1510,7 +1595,8 @@ MRPROPER_FILES += include/config include/generated          \
  		  certs/signing_key.pem \
  		  certs/x509.genkey \
  		  vmlinux-gdb.py \
@@ -24148,7 +24146,7 @@
  
  # clean - Delete most, but leave enough to build external modules
  #
-@@ -1526,6 +1613,9 @@ $(mrproper-dirs):
+@@ -1535,6 +1621,9 @@ $(mrproper-dirs):
  
  mrproper: clean $(mrproper-dirs)
  	$(call cmd,rmfiles)
@@ -24158,7 +24156,7 @@
  
  # distclean
  #
-@@ -1613,6 +1703,24 @@ help:
+@@ -1622,6 +1711,24 @@ help:
  	@echo  '  kselftest-merge   - Merge all the config dependencies of'
  	@echo  '		      kselftest to existing .config.'
  	@echo  ''
@@ -24183,7 +24181,7 @@
  	@$(if $(dtstree), \
  		echo 'Devicetree:'; \
  		echo '* dtbs             - Build device tree blobs for enabled boards'; \
-@@ -1685,6 +1793,52 @@ PHONY += $(DOC_TARGETS)
+@@ -1694,6 +1801,52 @@ PHONY += $(DOC_TARGETS)
  $(DOC_TARGETS):
  	$(Q)$(MAKE) $(build)=Documentation $@
  
@@ -24236,7 +24234,7 @@
  # Misc
  # ---------------------------------------------------------------------------
  
-@@ -1852,7 +2006,7 @@ $(clean-dirs):
+@@ -1861,7 +2014,7 @@ $(clean-dirs):
  clean: $(clean-dirs)
  	$(call cmd,rmfiles)
  	@find $(or $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
@@ -24263,10 +24261,10 @@
 +
 +<!-- XXX: Only for GitHub -- do not commit into mainline -->
 diff --git a/arch/Kconfig b/arch/Kconfig
-index 71b9272acb28..d5038cf8dd49 100644
+index 8b311e400ec1..d9b4ae0fc805 100644
 --- a/arch/Kconfig
 +++ b/arch/Kconfig
-@@ -353,6 +353,12 @@ config HAVE_RSEQ
+@@ -355,6 +355,12 @@ config HAVE_RSEQ
  	  This symbol should be selected by an architecture if it
  	  supports an implementation of restartable sequences.
  
@@ -24280,7 +24278,7 @@
  	bool
  	help
 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 7630ba9cb6cc..147655a4fc27 100644
+index 87badeae3181..c7fb8ef3b12d 100644
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
 @@ -116,6 +116,7 @@ config ARM
@@ -24498,10 +24496,10 @@
 +CONFIG_STRICT_DEVMEM=y
 +CONFIG_TEST_KSTRTOX=y
 diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 1652a9800ebe..aaeb70358979 100644
+index 1ce7685ad5de..25d617ba0fd7 100644
 --- a/arch/arm64/Kconfig
 +++ b/arch/arm64/Kconfig
-@@ -201,6 +201,7 @@ config ARM64
+@@ -204,6 +204,7 @@ config ARM64
  	select HAVE_FUNCTION_ARG_ACCESS_API
  	select MMU_GATHER_RCU_TABLE_FREE
  	select HAVE_RSEQ
@@ -24527,10 +24525,10 @@
 +
 +CONFIG_CMDLINE="console=ttyAMA0 nokaslr rdinit=/sbin/init"
 diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
-index 4d8f26c1399b..edab3cc9edf5 100644
+index 4c466acdc70d..5f4c1d091d1b 100644
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -243,6 +243,7 @@ config PPC
+@@ -244,6 +244,7 @@ config PPC
  	select HAVE_REGS_AND_STACK_ACCESS_API
  	select HAVE_RELIABLE_STACKTRACE
  	select HAVE_RSEQ
@@ -24539,7 +24537,7 @@
  	select HAVE_SOFTIRQ_ON_OWN_STACK
  	select HAVE_STACKPROTECTOR		if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2)
 diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
-index fcbb81feb7ad..5b53b41528f6 100644
+index 59d18881f35b..b6c4729dd5d1 100644
 --- a/arch/riscv/Kconfig
 +++ b/arch/riscv/Kconfig
 @@ -104,6 +104,7 @@ config RISCV
@@ -24551,7 +24549,7 @@
  	select HAVE_STACKPROTECTOR
  	select HAVE_SYSCALL_TRACEPOINTS
 diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
-index 81029d40a672..24ebe042406e 100644
+index 3fa8ef336822..20e8c125a79b 100644
 --- a/arch/riscv/Makefile
 +++ b/arch/riscv/Makefile
 @@ -26,6 +26,8 @@ ifeq ($(CONFIG_ARCH_RV64I),y)
@@ -24574,10 +24572,10 @@
  endif
  
 diff --git a/arch/um/Kconfig b/arch/um/Kconfig
-index 4ec22e156a2e..6dc06a7bf8b7 100644
+index 78de31ac1da7..61f84b2b165e 100644
 --- a/arch/um/Kconfig
 +++ b/arch/um/Kconfig
-@@ -25,6 +25,7 @@ config UML
+@@ -27,6 +27,7 @@ config UML
  	select TRACE_IRQFLAGS_SUPPORT
  	select TTY # Needed for line.c
  	select HAVE_ARCH_VMAP_STACK
@@ -24586,10 +24584,10 @@
  config MMU
  	bool
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 52a7f91527fe..4d5a3f256cbc 100644
+index f9920f1341c8..3ca198742b10 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
-@@ -258,6 +258,7 @@ config X86
+@@ -257,6 +257,7 @@ config X86
  	select HAVE_STATIC_CALL_INLINE		if HAVE_OBJTOOL
  	select HAVE_PREEMPT_DYNAMIC_CALL
  	select HAVE_RSEQ
@@ -24598,7 +24596,7 @@
  	select HAVE_UACCESS_VALIDATION		if HAVE_OBJTOOL
  	select HAVE_UNSTABLE_SCHED_CLOCK
 diff --git a/arch/x86/Makefile b/arch/x86/Makefile
-index 7854685c5f25..bab595003f07 100644
+index bafbd905e6e7..2d7e640674c6 100644
 --- a/arch/x86/Makefile
 +++ b/arch/x86/Makefile
 @@ -68,6 +68,7 @@ export BITS
@@ -24645,10 +24643,10 @@
 +CONFIG_CMDLINE_BOOL=y
 +CONFIG_CMDLINE="console=ttyS0 nokaslr rdinit=/sbin/init"
 diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig
-index 53b22e26266c..bc10eebd3ad3 100644
+index 07aa8ae0a058..37f7080807c5 100644
 --- a/drivers/android/Kconfig
 +++ b/drivers/android/Kconfig
-@@ -20,6 +20,12 @@ config ANDROID_BINDER_IPC
+@@ -13,6 +13,12 @@ config ANDROID_BINDER_IPC
  	  Android process, using Binder to identify, invoke and pass arguments
  	  between said processes.
  
@@ -28100,7 +28098,7 @@
 +    }
 +}
 diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
-index b3f2d55dc551..522efc0330df 100644
+index 3da8e85f8aae..bb23d57758cf 100644
 --- a/drivers/char/hw_random/Kconfig
 +++ b/drivers/char/hw_random/Kconfig
 @@ -98,6 +98,19 @@ config HW_RANDOM_BCM2835
@@ -28204,7 +28202,7 @@
 +    }
 +}
 diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index b01961999ced..bf942f8e9a60 100644
+index 0642f579196f..0499c2facbb0 100644
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
 @@ -482,6 +482,14 @@ config GPIO_PL061
@@ -28223,10 +28221,10 @@
  	tristate "Spreadtrum PMIC EIC support"
  	depends on MFD_SC27XX_PMIC || COMPILE_TEST
 diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-index 14352f6dfe8e..30141fec12be 100644
+index a0985d30f51b..3fa4f3f93d85 100644
 --- a/drivers/gpio/Makefile
 +++ b/drivers/gpio/Makefile
-@@ -118,6 +118,7 @@ obj-$(CONFIG_GPIO_PCIE_IDIO_24)		+= gpio-pcie-idio-24.o
+@@ -119,6 +119,7 @@ obj-$(CONFIG_GPIO_PCIE_IDIO_24)		+= gpio-pcie-idio-24.o
  obj-$(CONFIG_GPIO_PCI_IDIO_16)		+= gpio-pci-idio-16.o
  obj-$(CONFIG_GPIO_PISOSR)		+= gpio-pisosr.o
  obj-$(CONFIG_GPIO_PL061)		+= gpio-pl061.o
@@ -28682,7 +28680,7 @@
  
  #else
 diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
-index 62e75dd40d9a..06c24805e666 100644
+index a0143dd24430..b6cc20b56560 100644
 --- a/include/linux/workqueue.h
 +++ b/include/linux/workqueue.h
 @@ -221,24 +221,31 @@ static inline unsigned int work_static(struct work_struct *work) { return 0; }
@@ -28725,7 +28723,7 @@
  
  #define INIT_WORK(_work, _func)						\
 diff --git a/include/uapi/linux/android/binder.h b/include/uapi/linux/android/binder.h
-index 986333cf5bbe..a3bd993c5c9a 100644
+index e72e4de8f452..0b8ff0850093 100644
 --- a/include/uapi/linux/android/binder.h
 +++ b/include/uapi/linux/android/binder.h
 @@ -251,20 +251,22 @@ struct binder_extended_error {
@@ -28766,7 +28764,7 @@
  /*
   * NOTE: Two special error codes you should check for when calling
 diff --git a/init/Kconfig b/init/Kconfig
-index c7900e8975f1..ff0636891bc1 100644
+index 532362fcfe31..a078cb026523 100644
 --- a/init/Kconfig
 +++ b/init/Kconfig
 @@ -60,6 +60,17 @@ config LLD_VERSION
@@ -28787,7 +28785,7 @@
  config CC_CAN_LINK
  	bool
  	default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAGS) $(m64-flag)) if 64BIT
-@@ -151,7 +162,8 @@ config WERROR
+@@ -147,7 +158,8 @@ config WERROR
  	default COMPILE_TEST
  	help
  	  A kernel build should not cause any compiler warnings, and this
@@ -28797,7 +28795,7 @@
  
  	  However, if you have a new (or very old) compiler with odd and
  	  unusual warnings, or you have some architecture with problems,
-@@ -1898,6 +1910,38 @@ config PROFILING
+@@ -1899,6 +1911,38 @@ config PROFILING
  	  Say Y here to enable the extended profiling support mechanisms used
  	  by profilers.
  
@@ -28905,10 +28903,10 @@
 @@ -0,0 +1 @@
 +CONFIG_RUST=y
 diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
-index fbdf8d3279ac..87e2b1638115 100644
+index 3e7e2c2ad2f7..fc5e26348d25 100644
 --- a/kernel/kallsyms.c
 +++ b/kernel/kallsyms.c
-@@ -70,12 +70,20 @@ static unsigned int kallsyms_expand_symbol(unsigned int off,
+@@ -50,12 +50,20 @@ static unsigned int kallsyms_expand_symbol(unsigned int off,
  	data = &kallsyms_names[off];
  	len = *data;
  	data++;
@@ -28930,7 +28928,7 @@
  
  	/*
  	 * For every byte on the compressed symbol data, copy the table
-@@ -128,7 +136,7 @@ static char kallsyms_get_symbol_type(unsigned int off)
+@@ -108,7 +116,7 @@ static char kallsyms_get_symbol_type(unsigned int off)
  static unsigned int get_symbol_offset(unsigned long pos)
  {
  	const u8 *name;
@@ -28939,7 +28937,7 @@
  
  	/*
  	 * Use the closest marker we have. We have markers every 256 positions,
-@@ -142,8 +150,18 @@ static unsigned int get_symbol_offset(unsigned long pos)
+@@ -122,8 +130,18 @@ static unsigned int get_symbol_offset(unsigned long pos)
  	 * so we just need to add the len to the current pointer for every
  	 * symbol we wish to skip.
  	 */
@@ -28983,10 +28981,10 @@
  		if (cnt != 3) {
  			pr_err("symbol %s has an incorrectly formatted name\n",
 diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
-index 2e24db4bff19..ae3c43e0092e 100644
+index d3e5f36bb01e..816cd76dc2ac 100644
 --- a/lib/Kconfig.debug
 +++ b/lib/Kconfig.debug
-@@ -2688,6 +2688,88 @@ config HYPERV_TESTING
+@@ -2710,6 +2710,88 @@ config HYPERV_TESTING
  
  endmenu # "Kernel Testing and Coverage"
  
@@ -67657,7 +67655,7 @@
  /kallsyms
  /module.lds
 diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include
-index 0496efd6e117..83e850321eb6 100644
+index a0ccceb22cf8..274125307ebd 100644
 --- a/scripts/Kconfig.include
 +++ b/scripts/Kconfig.include
 @@ -36,12 +36,12 @@ ld-option = $(success,$(LD) -v $(1))
@@ -67691,7 +67689,7 @@
  HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include
  HOSTLDLIBS_sorttable = -lpthread
 diff --git a/scripts/Makefile.build b/scripts/Makefile.build
-index cac070aee791..5c495713f1b1 100644
+index 784f46d41959..00a0cd8f6e9f 100644
 --- a/scripts/Makefile.build
 +++ b/scripts/Makefile.build
 @@ -26,6 +26,7 @@ EXTRA_CPPFLAGS :=
@@ -67769,31 +67767,32 @@
  # ---------------------------------------------------------------------------
  
 diff --git a/scripts/Makefile.debug b/scripts/Makefile.debug
-index 9f39b0130551..fe87389d52c0 100644
+index 8cf1cb22dd93..332c486f705f 100644
 --- a/scripts/Makefile.debug
 +++ b/scripts/Makefile.debug
-@@ -1,4 +1,5 @@
+@@ -1,4 +1,6 @@
  DEBUG_CFLAGS	:=
 +DEBUG_RUSTFLAGS	:=
++
+ debug-flags-y	:= -g
  
  ifdef CONFIG_DEBUG_INFO_SPLIT
- DEBUG_CFLAGS	+= -gsplit-dwarf
-@@ -10,6 +11,12 @@ ifndef CONFIG_AS_IS_LLVM
- KBUILD_AFLAGS	+= -Wa,-gdwarf-2
- endif
+@@ -17,9 +19,12 @@ KBUILD_AFLAGS	+= $(debug-flags-y)
  
-+ifdef CONFIG_DEBUG_INFO_REDUCED
-+DEBUG_RUSTFLAGS += -Cdebuginfo=1
+ ifdef CONFIG_DEBUG_INFO_REDUCED
+ DEBUG_CFLAGS	+= -fno-var-tracking
++DEBUG_RUSTFLAGS	+= -Cdebuginfo=1
+ ifdef CONFIG_CC_IS_GCC
+ DEBUG_CFLAGS	+= -femit-struct-debug-baseonly
+ endif
 +else
-+DEBUG_RUSTFLAGS += -Cdebuginfo=2
-+endif
-+
- ifndef CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
- dwarf-version-$(CONFIG_DEBUG_INFO_DWARF4) := 4
- dwarf-version-$(CONFIG_DEBUG_INFO_DWARF5) := 5
-@@ -31,3 +38,6 @@ endif
++DEBUG_RUSTFLAGS	+= -Cdebuginfo=2
+ endif
+ 
+ ifdef CONFIG_DEBUG_INFO_COMPRESSED
+@@ -30,3 +35,6 @@ endif
  
- KBUILD_CFLAGS += $(DEBUG_CFLAGS)
+ KBUILD_CFLAGS	+= $(DEBUG_CFLAGS)
  export DEBUG_CFLAGS
 +
 +KBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS)
@@ -68002,10 +68001,10 @@
  	echo >&2 "***   Minimum $name version: $min_version"
  	echo >&2 "***"
 diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
-index 503e8abbb2c1..bd0025d77bcf 100755
+index 79e759aac543..b5ed31d631fa 100755
 --- a/scripts/checkpatch.pl
 +++ b/scripts/checkpatch.pl
-@@ -3615,7 +3615,7 @@ sub process {
+@@ -3616,7 +3616,7 @@ sub process {
  				my $comment = "";
  				if ($realfile =~ /\.(h|s|S)$/) {
  					$comment = '/*';
@@ -68014,7 +68013,7 @@
  					$comment = '//';
  				} elsif (($checklicenseline == 2) || $realfile =~ /\.(sh|pl|py|awk|tc|yaml)$/) {
  					$comment = '#';
-@@ -3663,7 +3663,7 @@ sub process {
+@@ -3664,7 +3664,7 @@ sub process {
  		}
  
  # check we are in a valid source file if not then ignore this hunk
@@ -68023,7 +68022,7 @@
  
  # check for using SPDX-License-Identifier on the wrong line number
  		if ($realline != $checklicenseline &&
-@@ -6782,15 +6782,19 @@ sub process {
+@@ -6783,15 +6783,19 @@ sub process {
  				}
  				if ($bad_specifier ne "") {
  					my $stat_real = get_stat_real($linenr, $lc);
@@ -69112,10 +69111,10 @@
  struct module;
  
 diff --git a/tools/lib/perf/include/perf/event.h b/tools/lib/perf/include/perf/event.h
-index e7758707cadd..116a80c31675 100644
+index 93bf93a59c99..d8ae4e944467 100644
 --- a/tools/lib/perf/include/perf/event.h
 +++ b/tools/lib/perf/include/perf/event.h
-@@ -95,7 +95,7 @@ struct perf_record_throttle {
+@@ -97,7 +97,7 @@ struct perf_record_throttle {
  };
  
  #ifndef KSYM_NAME_LEN

Cahb and others added 30 commits September 16, 2022 11:53
Aldrin2 (98DX8525) is a Marvell Prestera PP, with 100G support.

Signed-off-by: Oleksandr Mazur <[email protected]>

V2:
  - retarget to net tree instead of net-next;
  - fix missed colon in patch subject ('net marvell' vs 'net: mavell');
Signed-off-by: David S. Miller <[email protected]>
…t/tnguy/net-queue

Tony Nguyen says:

====================
Intel Wired LAN Driver Updates 2022-09-08 (ice, iavf)

This series contains updates to ice and iavf drivers.

Dave removes extra unplug of auxiliary bus on reset which caused a
scheduling while atomic to be reported for ice.

Ding Hui defers setting of queues for TCs to ensure valid configuration
and restores old config if invalid for ice.

Sylwester fixes a check of setting MAC address to occur after result is
received from PF for iavf driver.

Brett changes check of ring tail to use software cached value as not all
devices have access to register tail for iavf driver.
====================

Signed-off-by: David S. Miller <[email protected]>
There are already a few definitions of arrays containing
MULTICAST_LACPDU_ADDR and the next patch will add one more use. These all
contain the same constant data so define one common instance for all
bonding code.

Signed-off-by: Benjamin Poirier <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Netdev drivers are expected to call dev_{uc,mc}_sync() in their
ndo_set_rx_mode method and dev_{uc,mc}_unsync() in their ndo_stop method.
This is mentioned in the kerneldoc for those dev_* functions.

The bonding driver calls dev_{uc,mc}_unsync() during ndo_uninit instead of
ndo_stop. This is ineffective because address lists (dev->{uc,mc}) have
already been emptied in unregister_netdevice_many() before ndo_uninit is
called. This mistake can result in addresses being leftover on former bond
slaves after a bond has been deleted; see test_LAG_cleanup() in the last
patch in this series.

Add unsync calls, via bond_hw_addr_flush(), at their expected location,
bond_close().
Add dev_mc_add() call to bond_open() to match the above change.

v3:
* When adding or deleting a slave, only sync/unsync, add/del addresses if
  the bond is up. In other cases, it is taken care of at the right time by
  ndo_open/ndo_set_rx_mode/ndo_stop.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Benjamin Poirier <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Netdev drivers are expected to call dev_{uc,mc}_sync() in their
ndo_set_rx_mode method and dev_{uc,mc}_unsync() in their ndo_stop method.
This is mentioned in the kerneldoc for those dev_* functions.

The team driver calls dev_{uc,mc}_unsync() during ndo_uninit instead of
ndo_stop. This is ineffective because address lists (dev->{uc,mc}) have
already been emptied in unregister_netdevice_many() before ndo_uninit is
called. This mistake can result in addresses being leftover on former team
ports after a team device has been deleted; see test_LAG_cleanup() in the
last patch in this series.

Add unsync calls at their expected location, team_close().

v3:
* When adding or deleting a port, only sync/unsync addresses if the team
  device is up. In other cases, it is taken care of at the right time by
  ndo_open/ndo_set_rx_mode/ndo_stop.

Fixes: 3d249d4 ("net: introduce ethernet teaming device")
Signed-off-by: Benjamin Poirier <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Test that the bonding and team drivers clean up an underlying device's
address lists (dev->uc, dev->mc) when the aggregated device is deleted.

Test addition and removal of the LACPDU multicast address on underlying
devices by the bonding driver.

v2:
* add lag_lib.sh to TEST_FILES

v3:
* extend bond_listen_lacpdu_multicast test to init_state up and down cases
* remove some superfluous shell syntax and 'set dev ... up' commands

Signed-off-by: Benjamin Poirier <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
From: Benjamin Poirier <[email protected]>
To: [email protected]
Cc: Jay Vosburgh <[email protected]>,
	Veaceslav Falico <[email protected]>,
	Andy Gospodarek <[email protected]>,
	"David S. Miller" <[email protected]>,
	Eric Dumazet <[email protected]>,
	Jakub Kicinski <[email protected]>, Paolo Abeni <[email protected]>,
	Jiri Pirko <[email protected]>, Shuah Khan <[email protected]>,
	Jonathan Toppins <[email protected]>,
	[email protected]
Subject: [PATCH net v3 0/4] Unsync addresses from ports when stopping aggregated devices
Date: Wed,  7 Sep 2022 16:56:38 +0900	[thread overview]
Message-ID: <[email protected]> (raw)

This series fixes similar problems in the bonding and team drivers.

Because of missing dev_{uc,mc}_unsync() calls, addresses added to
underlying devices may be leftover after the aggregated device is deleted.
Add the missing calls and a few related tests.

v2:
* fix selftest installation, see patch 3

v3:
* Split lacpdu_multicast changes to their own patch, #1
* In ndo_{add,del}_slave methods, only perform address list changes when
  the aggregated device is up (patches 2 & 3)
* Add selftest function related to the above change (patch 4)
====================

Acked-by: Jay Vosburgh <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Pull cifs fixes from Steve French:
 "Four smb3 fixes for stable:

   - important fix to revalidate mapping when doing direct writes

   - missing spinlock

   - two fixes to socket handling

   - trivial change to update internal version number for cifs.ko"

* tag '6.0-rc5-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  cifs: update internal module number
  cifs: add missing spinlock around tcon refcount
  cifs: always initialize struct msghdr smb_msg completely
  cifs: don't send down the destination address to sendmsg for a SOCK_STREAM
  cifs: revalidate mapping when doing direct writes
…/drm

Pull drm fixes from Dave Airlie:
 "This is the regular drm fixes pull.

  The i915 and misc fixes are fairly regular, but the amdgpu contains
  fixes for new hw blocks, the dcn314 specific path hookups and also has
  a bunch of fixes for clang stack size warnings which are a bit churny
  but fairly straightforward. This means it looks a little larger than
  usual.

  amdgpu:
   - BACO fixes for some RDNA2 boards
   - PCI AER fixes uncovered by a core PCI change
   - Properly hook up dirtyfb helper
   - RAS fixes for GC 11.x
   - TMR fix
   - DCN 3.2.x fixes
   - DCN 3.1.4 fixes
   - LLVM DML stack size fixes

  i915:
   - Revert a display patch around max DP source rate now that the
     proper WaEdpLinkRateDataReload is in place
   - Fix perf limit reasons bit position
   - Fix unclaimmed mmio registers on suspend flow with GuC
   - A vma_move_to_active fix for a regression with video decoding
   - DP DSP fix

  gma500:
   - Locking and IRQ fixes

  meson:
   - OSD1 display fixes

  panel-edp:
   - Fix Innolux timings

  rockchip:
   - DP/HDMI fixes"

* tag 'drm-fixes-2022-09-16' of git://anongit.freedesktop.org/drm/drm: (42 commits)
  drm/amdgpu: make sure to init common IP before gmc
  drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega
  drm/amdgpu: move nbio ih_doorbell_range() into ih code for vega
  drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
  drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage
  drm/amd/display: Reduce number of arguments of dml31's CalculateFlipSchedule()
  drm/amd/display: Reduce number of arguments of dml31's CalculateWatermarksAndDRAMSpeedChangeSupport()
  drm/amd/display: Reduce number of arguments of dml32_CalculatePrefetchSchedule()
  drm/amd/display: Reduce number of arguments of dml32_CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport()
  drm/amd/display: Refactor SubVP calculation to remove FPU
  drm/amd/display: Limit user regamma to a valid value
  drm/amd/display: add workaround for subvp cursor corruption for DCN32/321
  drm/amd/display: SW cursor fallback for SubVP
  drm/amd/display: Round cursor width up for MALL allocation
  drm/amd/display: Correct dram channel width for dcn314
  drm/amd/display: Relax swizzle checks for video non-RGB formats on DCN314
  drm/amd/display: Hook up DCN314 specific dml implementation
  drm/amd/display: Enable dlg and vba compilation for dcn314
  drm/amd/display: Fix compilation errors on DCN314
  drm/amd/display: Fix divide by zero in DML
  ...
Pull io_uring fixes from Jens Axboe:
 "Two small patches:

   - Fix using an unsigned type for the return value, introduced in this
     release (Pavel)

   - Stable fix for a missing check for a fixed file on put (me)"

* tag 'io_uring-6.0-2022-09-16' of git://git.kernel.dk/linux-block:
  io_uring/msg_ring: check file type before putting
  io_uring/rw: fix error'ed retry return values
Pull block fixes from Jens Axboe:
 "Two fixes for -rc6:

   - Fix a mixup of sectors and bytes in the secure erase ioctl
     (Mikulas)

   - Fix for a bad return value for a non-blocking bio/blk queue enter
     call (me)"

* tag 'block-6.0-2022-09-16' of git://git.kernel.dk/linux-block:
  blk-lib: fix blkdev_issue_secure_erase
  block: blk_queue_enter() / __bio_queue_enter() must return -EAGAIN for nowait
…el/git/linusw/linux-pinctrl

Pull pin control fixes from Linus Walleij:
 "Nothing special, just driver fixes:

   - Fix IRQ wakeup and pins for UFS and SDC2 issues on the Qualcomm
     SC8180x

   - Fix the Rockchip driver to support interrupt on both rising and
     falling edges.

   - Name the Allwinner A100 R_PIO properly

   - Fix several issues with the Ocelot interrupts"

* tag 'pinctrl-v6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl: ocelot: Fix interrupt controller
  pinctrl: sunxi: Fix name for A100 R_PIO
  pinctrl: rockchip: Enhance support for IRQ_TYPE_EDGE_BOTH
  pinctrl: qcom: sc8180x: Fix wrong pin numbers
  pinctrl: qcom: sc8180x: Fix gpio_wakeirq_map
When the user space pcm stream uses the silent stream converter,
it is no longer allocated for the silent stream. Clear the appropriate
flag in the hdmi_pcm_open() function. The silent stream setup may
be applied in hdmi_pcm_close() (and the error path - open fcn) again.

If the flag is not cleared, the reuse conditions for the silent
stream converter in hdmi_choose_cvt() may improperly share
this converter.

Cc: Kai Vehmanen <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Prevent tcp_read_skb() from flooding the syslog.

Suggested-by: Jakub Sitnicki <[email protected]>
Signed-off-by: Peilin Ye <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
pm_runtime_get_sync() returning 1 also means the device is powered. So
resetting the chip registers in .remove() is possible and should be
done.

Reported-by: Dan Carpenter <[email protected]>
Fixes: d98bdd3 ("i2c: imx: Make sure to unregister adapter on remove()")
Signed-off-by: Uwe Kleine-König <[email protected]>
Acked-by: Oleksij Rempel <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
His email bounced and given commit 88115ea ("HID: amd_sfh: Remove
name from maintainers list"), I assume he is no longer available as a
maintainer.

Signed-off-by: Wolfram Sang <[email protected]>
Similar to commit fe99b81 ("docs: i2c: i2c-sysfs: fix hyperlinks"),
make other links in documentation consistent with the preferred way.

Signed-off-by: Wolfram Sang <[email protected]>
Reviewed-by: Luca Ceresoli <[email protected]>
Tested-by: Luca Ceresoli <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
…inux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:

 - fix the level-low interrupt type support in gpio-mpc8xxx

 - convert another two drivers to using immutable irq chips

 - MAINTAINERS update

* tag 'gpio-fixes-for-v6.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpio: mt7621: Make the irqchip immutable
  gpio: ixp4xx: Make irqchip immutable
  MAINTAINERS: Update HiSilicon GPIO Driver maintainer
  gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx
We were failing to call kasan_malloc() from __kmalloc_*track_caller()
which was causing us to sometimes fail to produce KASAN error reports
for allocations made using e.g. devm_kcalloc(), as the KASAN poison was
not being initialized. Fix it.

Signed-off-by: Peter Collingbourne <[email protected]>
Cc: <[email protected]> # 5.15
Signed-off-by: Vlastimil Babka <[email protected]>
RISCV_ISA_SVPBMT selects RISCV_ALTERNATIVE which depends on !XIP_KERNEL.
Therefore RISCV_ISA_SVPBMT should also depend on !XIP_KERNEL so
quieten this kconfig warning:

WARNING: unmet direct dependencies detected for RISCV_ALTERNATIVE
  Depends on [n]: !XIP_KERNEL [=y]
  Selected by [y]:
  - RISCV_ISA_SVPBMT [=y] && 64BIT [=y] && MMU [=y]

Fixes: ff689fd ("riscv: add RISC-V Svpbmt extension support")
Signed-off-by: Randy Dunlap <[email protected]>
Cc: [email protected]
Reviewed-by: Heiko Stuebner <[email protected]>
Link: https://lore.kernel.org/r/[email protected]/
Signed-off-by: Palmer Dabbelt <[email protected]>
Both basic extensions of SVPBMT and ZICBOM depend on CONFIG_MMU.
Make the T-Head errata implementations of the similar functionality
also depend on it to prevent build errors.

Fixes: a35707c ("riscv: add memory-type errata for T-Head")
Fixes: d20ec75 ("riscv: implement cache-management errata for T-Head SoCs")
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Heiko Stuebner <[email protected]>
Reviewed-by: Guo Ren <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Palmer Dabbelt <[email protected]>
riscv has an equivalent of arm bug fixed by 653d48b ("arm: fix
really nasty sigreturn bug"); if signal gets caught by an interrupt that
hits when we have the right value in a0 (-513), *and* another signal
gets delivered upon sigreturn() (e.g. included into the blocked mask for
the first signal and posted while the handler had been running), the
syscall restart logics will see regs->cause equal to EXC_SYSCALL (we are
in a syscall, after all) and a0 already restored to its original value
(-513, which happens to be -ERESTARTNOINTR) and assume that we need to
apply the usual syscall restart logics.

Signed-off-by: Al Viro <[email protected]>
Fixes: e2c0cdf ("RISC-V: User-facing API")
Cc: [email protected]
Link: https://lore.kernel.org/r/YxJEiSq%2FCGaL6Gm9@ZenIV/
Signed-off-by: Palmer Dabbelt <[email protected]>
We could make the T-Head CMOs depend on a new-enough assembler to have
Zicbom, but it's not strictly necessary because the T-Head CMOs
circumvent the assembler.

Fixes: 8f7e001 ("RISC-V: Clean up the Zicbom block size probing")
Reported-by: kernel test robot <[email protected]>
Reported-by: Conor Dooley <[email protected]>
Signed-off-by: Palmer Dabbelt <[email protected]>
Reviewed-by: Heiko Stuebner <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Palmer Dabbelt <[email protected]>
Correct the base address used during io write.
This bug had no impact over the overall functionality of the read and write
transactions. MLXBF_I2C_CAUSE_OR_CLEAR=0x18 so writing to (smbus->io + 0x18)
instead of (mst_cause->ioi + 0x18) actually writes to the sc_low_timeout
register which just sets the timeout value before a read/write aborts.

Fixes: b5b5b32 (i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC)
Reviewed-by: Khalil Blaiech <[email protected]>
Signed-off-by: Asmaa Mnebhi <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
…on()

memcpy() is called in a loop while 'operation->length' upper bound
is not checked and 'data_idx' also increments.

Fixes: b5b5b32 ("i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC")
Reviewed-by: Khalil Blaiech <[email protected]>
Signed-off-by: Asmaa Mnebhi <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
Notifications usually outlive requests, so we need to pin buffers with
it by assigning a rsrc to it instead of the request.

Fixed: b48c312 ("io_uring/net: simplify zerocopy send user API")
Signed-off-by: Pavel Begunkov <[email protected]>
Link: https://lore.kernel.org/r/dd6406ff8a90887f2b36ed6205dac9fda17c1f35.1663366886.git.asml.silence@gmail.com
Reviewed-by: Stefan Metzmacher <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
It's confusing to see the string SENDZC_NOTIF in ftrace output
when using IORING_OP_SEND_ZC.

Fixes: b48c312 ("io_uring/net: simplify zerocopy send user API")
Signed-off-by: Stefan Metzmacher <[email protected]>
Cc: Pavel Begunkov <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: [email protected]
Reviewed-by: Pavel Begunkov <[email protected]>
Link: https://lore.kernel.org/r/8e5cd8616919c92b6c3c7b6ea419fdffd5b97f3c.1663363798.git.metze@samba.org
Signed-off-by: Jens Axboe <[email protected]>
Pull io_uring fixes from Jens Axboe:
 "Nothing really major here, but figured it'd be nicer to just get these
  flushed out for -rc6 so that the 6.1 branch will have them as well.
  That'll make our lives easier going forward in terms of development,
  and avoid trivial conflicts in this area.

   - Simple trace rename so that the returned opcode name is consistent
     with the enum definition (Stefan)

   - Send zc rsrc request vs notification lifetime fix (Pavel)"

* tag 'io_uring-6.0-2022-09-18' of git://git.kernel.dk/linux:
  io_uring/opdef: rename SENDZC_NOTIF to SEND_ZC
  io_uring/net: fix zc fixed buf lifetime
…rnel/git/deller/parisc-linux

Pull parisc architecture fixes from Helge Deller:
 "Some small parisc architecture fixes for 6.0-rc6:

  One patch lightens up a previous commit and thus unbreaks building the
  debian kernel, which tries to configure a 64-bit kernel with the
  ARCH=parisc environment variable set.

  The other patches fixes asm/errno.h includes in the tools directory
  and cleans up memory allocation in the iosapic driver.

  Summary:

   - Allow configuring 64-bit kernel with ARCH=parisc

   - Fix asm/errno.h includes in tools directory for parisc and xtensa

   - Clean up iosapic memory allocation

   - Minor typo and spelling fixes"

* tag 'parisc-for-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: Allow CONFIG_64BIT with ARCH=parisc
  parisc: remove obsolete manual allocation aligning in iosapic
  tools/include/uapi: Fix <asm/errno.h> for parisc and xtensa
  Input: hp_sdc: fix spelling typo in comment
  parisc: ccio-dma: Add missing iounmap in error path in ccio_probe()
torvalds and others added 27 commits September 23, 2022 08:59
…rnel/git/mic/linux

Pull landlock fix from Mickaël Salaün:
 "Fix out-of-tree builds for Landlock tests"

* tag 'landlock-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
  selftests/landlock: Fix out-of-tree builds
…git/gregkh/usb

Pull USB / Thunderbolt driver fixes and ids from Greg KH:
 "Here are a few small USB and Thunderbolt driver fixes and new device
  ids for 6.0-rc7.

  They contain:

   - new usb-serial driver ids

   - documentation build warning fix in USB hub code

   - flexcop-usb long-posted bugfix (the v4l maintainer for this is MIA
     so I have finally picked this up as it is a fix for a reported
     problem.)

   - dwc3 64bit DMA bugfix

   - new thunderbolt device ids

   - typec build error fix

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

* tag 'usb-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  usb: typec: anx7411: Fix build error without CONFIG_POWER_SUPPLY
  media: flexcop-usb: fix endpoint type check
  USB: serial: option: add Quectel RM520N
  USB: serial: option: add Quectel BG95 0x0203 composition
  thunderbolt: Add support for Intel Maple Ridge single port controller
  usb: dwc3: core: leave default DMA if the controller does not support 64-bit DMA
  USB: core: Fix RST error in hub.c
…/kernel/git/gregkh/driver-core

Pull driver core fixes from Greg KH:
 "Here are two tiny driver core fixes for 6.0-rc7 that resolve some
  oft-reported problems.

  The first is a revert of the "fw_devlink.strict=1" default option that
  we keep trying to enable, but we keep finding platforms that this just
  breaks everything on. So again, we need it reverted and hopefully it
  can be worked on in future releases.

  The second is a sysfs file-size bugfix that resolves an issue that
  many people are starting to hit as the fix it is fixing also was
  backported to stable kernels. The util-linux developers are starting
  to get bugreports about sysfs files that contain no data because of
  this problem, and this fix which has been in linux-next in the
  bitfield tree for a long time, resolves it. I'm submitting it here as
  it needs to be merged for 6.0-final, not for 6.1-rc1.

  Both of these have been in linux-next with no reported issues, only
  reports were that these fixed problems"

* tag 'driver-core-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
  drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
  Revert "driver core: Set fw_devlink.strict=1 by default"
cgroup has to be one kernfs dir, otherwise kernel panic is caused,
especially cgroup id is provide from userspace.

Reported-by: Marco Patalano <[email protected]>
Fixes: 6b658c4 ("scsi: cgroup: Add cgroup_get_from_id()")
Cc: Muneendra <[email protected]>
Signed-off-by: Ming Lei <[email protected]>
Acked-by: Mukesh Ojha <[email protected]>
Cc: [email protected] # v5.14+
Signed-off-by: Tejun Heo <[email protected]>
Remove unused imported 'os' module.

Signed-off-by: yangxingwu <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
There is nowhere calling `menu_get_root_menu` function,
so remove it.

Signed-off-by: Zeng Heng <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
Commit e908862 ("certs: make system keyring depend on x509 parser")
is not the right fix because x509_load_certificate_list() can be modular.

The combination of CONFIG_SYSTEM_TRUSTED_KEYRING=y and
CONFIG_X509_CERTIFICATE_PARSER=m still results in the following error:

    LD      .tmp_vmlinux.kallsyms1
  ld: certs/system_keyring.o: in function `load_system_certificate_list':
  system_keyring.c:(.init.text+0x8c): undefined reference to `x509_load_certificate_list'
  make: *** [Makefile:1169: vmlinux] Error 1

Fixes: e908862 ("certs: make system keyring depend on x509 parser")
Signed-off-by: Masahiro Yamada <[email protected]>
Tested-by: Adam Borowski <[email protected]>
…git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "These are all very simple and self-contained, although the CFI
  jump-table fix touches the generic linker script as that's where the
  problematic macro lives.

   - Fix false positive "sleeping while atomic" warning resulting from
     the kPTI rework taking a mutex too early.

   - Fix possible overflow in AMU frequency calculation

   - Fix incorrect shift in CMN PMU driver which causes problems with
     newer versions of the IP

   - Reduce alignment of the CFI jump table to avoid huge kernel images
     and link errors with !4KiB page size configurations"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  vmlinux.lds.h: CFI: Reduce alignment of jump-table to function alignment
  perf/arm-cmn: Add more bits to child node address offset field
  arm64: topology: fix possible overflow in amu_fie_setup()
  arm64: mm: don't acquire mutex when rewriting swapper
io_uring caches task references to avoid doing atomics for each of them
per request. If a request is put from the same task that allocated it,
then we can maintain a per-ctx cache of them. This obviously relies
on io_uring always pruning caches in a reliable way, and there's
currently a case off io_uring fd release where we can miss that.

One example is a ring setup with IOPOLL, which relies on the task
polling for completions, which will free them. However, if such a task
submits a request and then exits or closes the ring without reaping
the completion, then ring release will reap and put. If release happens
from that very same task, the completed request task refs will get
put back into the cache pool. This is problematic, as we're now beyond
the point of pruning caches.

Manually drop these caches after doing an IOPOLL reap. This releases
references from the current task, which is enough. If another task
happens to be doing the release, then the caching will not be
triggered and there's no issue.

Cc: [email protected]
Fixes: e98e49b ("io_uring: extend task put optimisations")
Reported-by: Homin Rhee <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Dmitrii, Fangrui, and Mashahiro note:

  Before GCC 11 and Clang 12 -gsplit-dwarf implicitly uses -g2.

Fix CONFIG_DEBUG_INFO_SPLIT for gcc-11+ & clang-12+ which now need -g
specified in order for -gsplit-dwarf to work at all.

-gsplit-dwarf has been mutually exclusive with -g since support for
CONFIG_DEBUG_INFO_SPLIT was introduced in
commit 866ced9 ("kbuild: Support split debug info v4")
I don't think it ever needed to be.

Link: https://lore.kernel.org/lkml/[email protected]/
Link: https://lore.kernel.org/lkml/CAK7LNARPAmsJD5XKAw7m_X2g7Fi-CAAsWDQiP7+ANBjkg7R7ng@mail.gmail.com/
Link: https://reviews.llvm.org/D80391
Cc: Andi Kleen <[email protected]>
Reported-by: Dmitrii Bundin <[email protected]>
Reported-by: Fangrui Song <[email protected]>
Reported-by: Masahiro Yamada <[email protected]>
Suggested-by: Dmitrii Bundin <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
Alexey reported that the fraction of unknown filename instances in
kallsyms grew from ~0.3% to ~10% recently; Bill and Greg tracked it down
to assembler defined symbols, which regressed as a result of:

commit b8a9092 ("Kbuild: do not emit debug info for assembly with LLVM_IAS=1")

In that commit, I allude to restoring debug info for assembler defined
symbols in a follow up patch, but it seems I forgot to do so in

commit a66049e ("Kbuild: make DWARF version a choice")

Link: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=31bf18645d98b4d3d7357353be840e320649a67d
Fixes: b8a9092 ("Kbuild: do not emit debug info for assembly with LLVM_IAS=1")
Reported-by: Alexey Alexandrov <[email protected]>
Reported-by: Bill Wendling <[email protected]>
Reported-by: Greg Thelen <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Suggested-by: Masahiro Yamada <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
Pull block fixes from Jens Axboe:
 "Fix a regression that's been plaguing us by reverting the offending
  commit, as attempts to both reproduce the issue and fix it in a saner
  fashion have failed.

  Fix for a potential oops condition in the s390 dasd block driver"

* tag 'block-6.0-2022-09-22' of git://git.kernel.dk/linux:
  Revert "block: freeze the queue earlier in del_gendisk"
  s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
Pull io_uring fix from Jens Axboe:
 "Just a single fix for an issue with un-reaped IOPOLL requests on ring
  exit"

* tag 'io_uring-6.0-2022-09-23' of git://git.kernel.dk/linux:
  io_uring: ensure that cached task references are always put on exit
…x/kernel/git/tj/wq

Pull workqueue fix from Tejun Heo:
 "Just one patch to improve flush lockdep coverage"

* tag 'wq-for-6.0-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  workqueue: don't skip lockdep work dependency in cancel_work_sync()
…linux/kernel/git/tj/cgroup

Pull cgroup fixes from Tejun Heo:

 - Add Waiman Long as a cpuset maintainer

 - cgroup_get_from_id() could be fed a kernfs ID which doesn't point to
   a cgroup directory but a knob file and then crash. Error out if the
   lookup kernfs_node isn't a directory.

* tag 'cgroup-for-6.0-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  cgroup: cgroup_get_from_id() must check the looked-up kn is a directory
  cpuset: Add Waiman Long as a cpuset maintainer
…git/gregkh/tty

Pull tty/serial driver fixes from Greg KH:
 "Here are some small, and late, serial driver fixes for 6.0-rc7 to
  resolve some reported problems.

  Included in here are:

   - tegra icount accounting fixes, including a framework function that
     other drivers will be converted over to using in 6.1-rc1.

   - fsl_lpuart reset bugfix

   - 8250 omap 485 bugfix

   - sifive serial clock bugfix

  The last three patches have not shown up in linux-next due to them
  being added to my tree only 2 days ago, but they are tiny and
  self-contained and the developers say they resolve issues that they
  have with 6.0-rc. The other three have been in linux-next for a while
  with no reported issues"

* tag 'tty-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  serial: sifive: enable clocks for UART when probed
  serial: 8250: omap: Use serial8250_em485_supported
  serial: fsl_lpuart: Reset prior to registration
  serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
  serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
  serial: Create uart_xmit_advance()
…ernel/git/gregkh/char-misc

Pull char/misc driver fixes from Greg KH:
 "Here are three tiny driver fixes for 6.0-rc7.  They include:

   - phy driver reset bugfix

   - fpga memleak bugfix

   - counter irq config bugfix

  The first two have been in linux-next for a while, the last one has
  only been added to my tree in the past few days, but was in linux-next
  under a different commit id. I couldn't pull directly from the counter
  tree due to some gpg key propagation issue, so I took the commit
  directly from email instead"

* tag 'char-misc-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  counter: 104-quad-8: Fix skipped IRQ lines during events configuration
  fpga: m10bmc-sec: Fix possible memory leak of flash_buf
  phy: marvell: phy-mvebu-a3700-comphy: Remove broken reset support
…it/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:
 "These fix an uninitialized variable usage in the operating performance
  points code and add missing DT bindings for it.

  Specifics:

   - Fix uninitialized variable usage in dev_pm_opp_config_clks_simple()
     (Christophe JAILLET)

   - Add missing OPP DT properties (Rob Herring)"

* tag 'pm-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  dt-bindings: opp: Add missing (unevaluated|additional)Properties on child nodes
  OPP: Fix an un-initialized variable usage
…it/s390/linux

Pull s390 fix from Vasily Gorbik:

 - Fix potential hangs in VFIO AP driver

* tag 's390-6.0-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/vfio-ap: bypass unnecessary processing of AP resources
…/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

 - Fix build error for the combination of SYSTEM_TRUSTED_KEYRING=y and
   X509_CERTIFICATE_PARSER=m

 - Fix DEBUG_INFO_SPLIT to generate debug info for GCC 11+ and Clang 12+

 - Revive debug info for assembly files

 - Remove unused code

* tag 'kbuild-fixes-v6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  Makefile.debug: re-enable debug info for .S files
  Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT
  certs: make system keyring depend on built-in x509 parser
  Kconfig: remove unused function 'menu_get_root_menu'
  scripts/clang-tools: remove unused module
The "hmem" platform-devices that are created to represent the
platform-advertised "Soft Reserved" memory ranges end up inserting a
resource that causes the iomem_resource tree to look like this:

340000000-43fffffff : hmem.0
  340000000-43fffffff : Soft Reserved
    340000000-43fffffff : dax0.0

This is because insert_resource() reparents ranges when they completely
intersect an existing range.

This matters because code that uses region_intersects() to scan for a
given IORES_DESC will only check that top-level 'hmem.0' resource and
not the 'Soft Reserved' descendant.

So, to support EINJ (via einj_error_inject()) to inject errors into
memory hosted by a dax-device, be sure to describe the memory as
IORES_DESC_SOFT_RESERVED. This is a follow-on to:

commit b13a3e5 ("ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP")

...that fixed EINJ support for "Soft Reserved" ranges in the first
instance.

Fixes: 262b45a ("x86/efi: EFI soft reservation to E820 enumeration")
Reported-by: Ricardo Sandoval Torres <[email protected]>
Tested-by: Ricardo Sandoval Torres <[email protected]>
Cc: <[email protected]>
Cc: Tony Luck <[email protected]>
Cc: Omar Avelar <[email protected]>
Cc: Rafael J. Wysocki <[email protected]>
Cc: Mark Gross <[email protected]>
Link: https://lore.kernel.org/r/166397075670.389916.7435722208896316387.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <[email protected]>
Pick up another "Soft Reservation" fix for v6.0-final on top of some
straggling nvdimm fixes that missed v5.19.
…nel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
 "I2C driver bugfixes for mlxbf and imx, a few documentation fixes after
  the rework this cycle, and one hardening for the i2c-mux core"

* tag 'i2c-for-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: mux: harden i2c_mux_alloc() against integer overflows
  i2c: mlxbf: Fix frequency calculation
  i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction()
  i2c: mlxbf: incorrect base address passed during io write
  Documentation: i2c: fix references to other documents
  MAINTAINERS: remove Nehal Shah from AMD MP2 I2C DRIVER
  i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible
…ub/scm/linux/kernel/git/nvdimm/nvdimm

Pull NVDIMM and DAX fixes from Dan Williams:
 "A recently discovered one-line fix for devdax that further addresses a
  v5.5 regression, and (a bit embarrassing) a small batch of fixes that
  have been sitting in my fixes tree for weeks.

  The older fixes have soaked in linux-next during that time and address
  an fsdax infinite loop and some other minor fixups.

   - Fix a infinite loop bug in fsdax

   - Fix memory-type detection for devdax (EINJ regression)

   - Small cleanups"

* tag 'dax-and-nvdimm-fixes-v6.0-final' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
  devdax: Fix soft-reservation memory description
  fsdax: Fix infinite loop in dax_iomap_rw()
  nvdimm/namespace: drop nested variable in create_namespace_pmem()
  ndtest: Cleanup all of blk namespace specific code
  pmem: fix a name collision
…ux/kernel/git/tytso/ext4

Pull ext4 fixes from Ted Ts'o:
 "Regression and bug fixes:

   - Performance regression fix from 5.18 on a Rasberry Pi

   - Fix extent parsing bug which triggers a BUG_ON when a (corrupted)
     extent tree has has a non-root node when zero entries.

   - Fix a livelock where in the right (wrong) circumstances a large
     number of nfsd threads can try to write to a nearly full file
     system, and retry for hours(!)"

* tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: limit the number of retries after discarding preallocations blocks
  ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
  ext4: use buckets for cr 1 block scan instead of rbtree
  ext4: use locality group preallocation for small closed files
  ext4: make directory inode spreading reflect flexbg size
  ext4: avoid unnecessary spreading of allocations among groups
  ext4: make mballoc try target group first even with mb_optimize_scan
Linux 6.0-rc7

Signed-off-by: Miguel Ojeda <[email protected]>
@ojeda ojeda merged commit e0a3d79 into Rust-for-Linux:rust Sep 27, 2022
@ojeda ojeda deleted the sync branch September 27, 2022 07:14
ojeda pushed a commit that referenced this pull request May 28, 2025
When performing a right split on a folio, the split_at2 may point to a
not-present page if the offset + length equals the original folio size,
which will trigger the following error:

 BUG: unable to handle page fault for address: ffffea0006000008
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page
 PGD 143ffb9067 P4D 143ffb9067 PUD 143ffb8067 PMD 0
 Oops: Oops: 0000 [#1] SMP PTI
 CPU: 0 UID: 0 PID: 502640 Comm: fsx Not tainted 6.15.0-rc3-gc6156189fc6b #889 PR
 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/4
 RIP: 0010:truncate_inode_partial_folio+0x208/0x620
 Code: ff 03 48 01 da e8 78 7e 13 00 48 83 05 10 b5 5a 0c 01 85 c0 0f 85 1c 02 001
 RSP: 0018:ffffc90005bafab0 EFLAGS: 00010286
 RAX: 0000000000000000 RBX: ffffea0005ffff00 RCX: 0000000000000002
 RDX: 000000000000000c RSI: 0000000000013975 RDI: ffffc90005bafa30
 RBP: ffffea0006000000 R08: 0000000000000000 R09: 00000000000009bf
 R10: 00000000000007e0 R11: 0000000000000000 R12: 0000000000001633
 R13: 0000000000000000 R14: ffffea0005ffff00 R15: fffffffffffffffe
 FS:  00007f9f9a161740(0000) GS:ffff8894971fd000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: ffffea0006000008 CR3: 000000017c2ae000 CR4: 00000000000006f0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
 Call Trace:
  <TASK>
  truncate_inode_pages_range+0x226/0x720
  truncate_pagecache+0x57/0x90
  ...

Fix this issue by skipping the split if truncation aligns with the folio
size, make sure the split page number lies within the folio.

Link: https://lkml.kernel.org/r/[email protected]
Fixes: 7460b47 ("mm/truncate: use folio_split() in truncate operation")
Signed-off-by: Zhang Yi <[email protected]>
Reviewed-by: Zi Yan <[email protected]>
Cc: ErKun Yang <[email protected]>
Cc: Kefeng Wang <[email protected]>
Cc: Matthew Wilcox (Oracle) <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.