Skip to content

[Deepin-Kernel-SIG] [linux 7.2-y] rebase our 6.18.y patches to 7.2 -final - #2124

Merged
opsiff merged 51 commits into
deepin-community:linux-7.2.yfrom
opsiff:linux-7.2.y-2026-09-04-p4
Sep 4, 2026
Merged

[Deepin-Kernel-SIG] [linux 7.2-y] rebase our 6.18.y patches to 7.2 -final#2124
opsiff merged 51 commits into
deepin-community:linux-7.2.yfrom
opsiff:linux-7.2.y-2026-09-04-p4

Conversation

@opsiff

@opsiff opsiff commented Sep 4, 2026

Copy link
Copy Markdown
Member

Due to github copilot review limit, submit part4 from linux-6.18.y and build fix.

Asuna Yang and others added 30 commits September 4, 2026 20:55
A subsequent commit will add a new function `bindgen-option` to
`scripts/Kconfig.include`. The bindgen backend requires the `--target`
option for cross compiling, but variable `BINDGEN_TARGET` in
`rust/Makefile` cannot be exported to `scripts/Kconfig.include`.

Therefore, move this variable to a separate new `Makefile.rust` file and
include it from `scripts/Makefile` to make the exported variable
available for use in Kconfig. Place the include in the `need-compiler`
branch to avoid including it in irrelevant make targets.

Since the new file name is `Makefile.rust`, it matches an existing
MAINTAINERS rule `scripts/*rust*`, so no modification to the MAINTAINERS
file is needed.

Signed-off-by: Asuna Yang <xinrui.riscv@isrc.iscas.ac.cn>
Link: https://lore.kernel.org/r/20251230-gcc-rust-v5-v6-1-2ac86ba728c8@isrc.iscas.ac.cn
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
Generate a friendly fatal error if the target triplet is undefined for
bindgen, rather than having the compiler generate obscure error messages
during the build stage.

`BINDGEN_TARGET` is actually defined in `scripts/Makefile.rust`, but the
file is included regardless of whether Rust is enabled, so perform this
check in `rust/Makefile` to avoid breaking targets that do not yet
support Rust builds.

This piece of code is copied from `scripts/Makefile.clang`.

Before this commit, error messages might look like:

error: unknown argument: '-mno-riscv-attribute'
error: unsupported argument 'medany' to option '-mcmodel=' for target
'unknown'
error: unsupported option '-march=' for target ''
error: unsupported option '-mno-save-restore' for target ''
error: unknown target triple 'unknown'
panicked at bindgen/ir/context.rs:562:15:
libclang error; possible causes include:
- Invalid flag syntax
- Unrecognized flags
- Invalid flag arguments
- File I/O errors
- Host vs. target architecture mismatch

Acked-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Asuna Yang <xinrui.riscv@isrc.iscas.ac.cn>
Link: https://lore.kernel.org/r/20251230-gcc-rust-v5-v6-2-2ac86ba728c8@isrc.iscas.ac.cn
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
… options

Add a new `bindgen-backend-option` Kconfig function to test whether the
bindgen backend supports a given flag.

A subsequent commit will use this function to test for RISC-V extension
flags.

Signed-off-by: Asuna Yang <xinrui.riscv@isrc.iscas.ac.cn>
Link: https://lore.kernel.org/r/20251230-gcc-rust-v5-v6-3-2ac86ba728c8@isrc.iscas.ac.cn
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
…einit

Support initialization and de-initialization hooks provided by
platform-specific drivers. Initialization ones run after everything
else has been set up for RC, but before it's probed by the PCI
subsystem, to allow platform drivers to easily override RC properties
like LNKCAP. De-initialization ones run before anything else has been
cleaned-up.

Signed-off-by: Yao Zi <me@ziyao.cc>
Link: https://lore.kernel.org/r/20260227181925.52475-2-me@ziyao.cc
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
deepin inclusion
category: bugfix

Fixes: a97fbc3 ("syscore: Pass context data to callbacks")
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: other

check if upstream have someone fix which commits in our tree.

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
(cherry picked from commit 5d8a063)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: other

Also remove schedule everyday, if we need we can bring it back.

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
(cherry picked from commit 9f06030)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: feature

Disable it for other dist which ArchLinux and Ubuntu all disable it,
align with our other arch such as x86 and arm64.

Link: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/blob/3f45381bfc794dda3eaa66e3d6bfd52926da7b51/config.x86_64#L1327
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
intel inclusion
from https://github.com/intel/ipu6-drivers/
category: feature

include commits:
media: ipu6: Workaround to build PSYS

Link: https://github.com/intel/ipu6-drivers/tree/deff2d8e3640e5beb2a89b51008260763af8e675/drivers/media/pci/intel/ipu6/psys
[IPU6 kernel v6.16 release on 2025-06-26]
Signed-off-by: Hao Yao <hao.yao@intel.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: feature

[ !broken ] kaslr is disabled !

When kaslr is enabled and no 'resume=' in cmdline (see 71344f2b0),
loongarch cannot resume from a hibernated kernel. Console log stops at:

	PM: Image loading progress: 100%
	PM: Image loading done
	PM: hibernation: Read 2669152 kbytes in 4.26 seconds (626.56 MB/s)
	ata1.00: Entering standby power mode
	radeon 0000:06:00.0: GPU pci config reset
	Disabling non-boot CPUs ...

However, resume still fails after using nokaslr in cmdline. Log says:

	PM: Image loading progress: 100%
	PM: Image loading done
	PM: hibernation: Read 2669152 kbytes in 4.26 seconds (626.56 MB/s)
	ata1.00: Entering standby power mode
	radeon 0000:06:00.0: GPU pci config reset
	Disabling non-boot CPUs ...
	ACPI: PM: Restoring platform NVS memory
	Enabling non-boot CPUs ...
	Booting CPU#1...
	CPU1: failed to start
	Error taking CPU1 up: -5
	Booting CPU#2...
	CPU2: failed to start
	Error taking CPU2 up: -5
	Booting CPU#3...
	CPU3: failed to start
	Error taking CPU3 up: -5
	Booting CPU#4...
	64-bit Loongson Processor probed (LA664 Core)
	CPU4 revision is: 0014d000 (Loongson-64bit)
	FPU4 revision is: 00000000
	CPU#4 finished
	CPU4 is up
	Booting CPU#5...
	CPU5: failed to start
	Error taking CPU5 up: -5
	Booting CPU#6...
	Kernel ade access[#5738]:
	CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D            6.6.0-loong64-desktop deepin-community#25.00.2000.002
	Hardware name: KaiTian 90Y4A08AKX/KL3A60007A2000DTMB1, BIOS W0MKT0DA 11/25/2024
	pc 9000000000304160 ra 900000000030415c tp 900000000341c000 sp 9000000100403f90
	a0 24001c4c5676979d a1 0000000000000000 a2 0000000000000000 a3 0000000000000000
	a4 90000000040aef08 a5 90000000040aedd0 a6 9000000003d78118 a7 0000000000000000
	t0 0000000000000000 t1 0000000000000000 t2 0000000000000000 t3 0000000000000000
	t4 0000000000000000 t5 0000000000000000 t6 0000000000000000 t7 0000000000000000
	t8 0000000000000000 u0 0000000000000003 s9 00000000fd180638 s0 0000000000000000
	s1 9000000004108cf0 s2 ffffffffffffffff s3 0000000000000001 s4 0000000000000000
	s5 9000000008233481 s6 0000000000000000 s7 9000000002bd4d10 s8 9000000003d72910
	   ra: 900000000030415c generic_handle_domain_irq+0x1c/0x80
	  ERA: 9000000000304160 generic_handle_domain_irq+0x20/0x80
	 CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)
	 PRMD: 00000008 (PPLV0 -PIE +PWE)
	 EUEN: 00000000 (-FPE -SXE -ASXE -BTE)
	 ECFG: 00071c1d (LIE=0,2-4,10-12 VS=7)
	ESTAT: 00480800 [ADEM] (IS=11 ECode=8 EsubCode=1)
	 BADV: 24001c4c56769835
	 PRID: 0014d000 (Loongson-64bit, Loongson-3A6000-HV)
	Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device bnep st sr_mod cdrom bluetooth rfkill qrtr nls_iso8859_1 nls_cp4t
	Process swapper/0 (pid: 0, threadinfo=00000000cf4196b1, task=000000007aa949f6)
	Stack : 00000000000002b0 9000000000facff8 900000000344b000 9000000100403ff0
	        0000000000000001 0000000000000000 900000000341fc90 9000000001b1f590
	        90000001006f8000 900000000341fc90 900000000341fc60 9000000001b1f664
	        900000000341fc90 0000000000000000
	Call Trace:
	[<9000000000304160>] generic_handle_domain_irq+0x20/0x80
	[<9000000000facff8>] handle_cpu_irq+0x78/0xc0
	[<9000000001b1f590>] handle_loongarch_irq+0x30/0x60
	[<9000000001b1f664>] do_vint+0xa4/0xe0
	[<90000000002225e0>] __arch_cpu_idle+0x20/0x24
	[<9000000001b21f1c>] arch_cpu_idle+0x1c/0x40
	[<9000000001b22180>] default_idle_call+0xa0/0x158
	[<90000000002cb9c8>] do_idle+0x108/0x160
	[<90000000002cbc84>] cpu_startup_entry+0x44/0x60
	[<9000000001b23234>] kernel_init+0x0/0x14c
	[<9000000001b411c4>] arch_post_acpi_subsys_init+0x0/0xc

This is caused by RANDOM_KMALLOC_CACHES, if this option is enabled,
secondary CPUs may fail at "Error taking CPUx up: -5". System may stuck
with the above calltrace, or can still enter graphic desktop with only
CPU0.

To enable S4, disable kaslr and RANDOM_KMALLOC_CHACHES for now.

Signed-off-by: wenlunpeng <wenlunpeng@uniontech.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
maillist inclusion
category: other

The existing 'sysret_rip' selftest asserts that 'regs->r11 ==
regs->flags'. This check relies on the behavior of the SYSCALL
instruction on legacy x86_64, which saves 'RFLAGS' into 'R11'.

However, on systems with FRED (Flexible Return and Event Delivery)
enabled, instead of using registers, all state is saved onto the stack.
Consequently, 'R11' retains its userspace value, causing the assertion
to fail.

Fix this by detecting if FRED is enabled and skipping the register
assertion in that case. The detection is done by checking if the RPL
bits of the GS selector are preserved after a hardware exception.
IDT (via IRET) clears the RPL bits of NULL selectors, while FRED (via
ERETU) preserves them.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Yi Lai <yi1.lai@intel.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
categroy: bugfix

With the patch v5, still cause false detect in some no pixart touchpads,
so limit it in loongson config.

Link: https://lore.kernel.org/all/tbhy6xk4tjuza7rgsv55xss5woysyv4wlg46m6sxfq6y5nk7da@7hyl7cf5ehus/
Reported-by: wenlunpeng <wenlunpeng@uniontech.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
(cherry picked from commit 75ac9bf)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Signed-off-by: sam_h1973 <hushunkui@grt-china.com>
driver inclusion
category: feature

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
This driver provides fan speed monitoring for Lenovo Yoga, Legion, and
IdeaPad laptops by interfacing with the Embedded Controller (EC) via ACPI.

To address low-resolution sampling in Lenovo EC firmware, a Rate-Limited
Lag (RLLag) filter is implemented. The filter ensures a consistent physical
curve regardless of userspace polling frequency.

Hardware identification is performed via DMI-based quirk tables, which
map specific ACPI object paths and register widths (8-bit vs 16-bit)
deterministically.

Signed-off-by: Sergio Melas <sergiomelas@gmail.com>
Link: https://lore.kernel.org/r/20260327221602.18832-1-sergiomelas@gmail.com
[groeck: Dropped double empty line in Kconfig]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Link: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git/commit/?h=hwmon-next&id=c67c248ca406a86cf8b20bf1b3af5e7f3e36581f
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
deepin inclusion
category: feature

Link: deepin-community#1617
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: feature

Users may use zram for testing or etc, enable zram compress:
zstd, lz4, lz4hc, 842, deflate and lzo support.

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: feature

OpenFDE report is should enable CONFIG_DMABUF_HEAPS to support camera and
screenrecording programs, so enable it in x86 and arm64 (loongarch has done).

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
(cherry picked from commit d9eaedc)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Like the other relevant symbols, export them and put the function
declarations in header files rather than source files.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Kanglong Wang <wangkanglong@loongson.cn>
So that they can be probed in the kernel modules to do something.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Kanglong Wang <wangkanglong@loongson.cn>
So that they can be called in the kernel modules to do something.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Kanglong Wang <wangkanglong@loongson.cn>
…om comments

GCC's -Wbidi-chars option (enabled by default since GCC 12) detects
potentially dangerous Unicode bidirectional text control characters that
could be exploited in "Trojan Source" attacks (CVE-2021-42574).

The font_cjk_16x16.h/font_cjk_32x32.h header files contained actual
Unicode bidirectional control characters embedded within comments as
glyph representations:
  - U+200E (LEFT-TO-RIGHT MARK)
  - U+200F (RIGHT-TO-LEFT MARK)
  - U+202C (POP DIRECTIONAL FORMATTING)
  - U+2069 (POP DIRECTIONAL ISOLATE)

Replace these invisible control characters with their standard Unicode
abbreviations (LRM, RLM, PDF, PDI) enclosed in parentheses. This
preserves the documentary intent of the comments while eliminating the
build failure caused by -Werror=bidi-chars.

This change is necessary and appropriate because GCC 12 and later versions
introduced the -Wbidi-chars warning (enabled by default) specifically to
mitigate "Trojan Source" attacks as described in CVE-2021-42574. These
attacks exploit Unicode bidirectional override characters to make source
code appear different from how it actually executes, potentially hiding
malicious logic within seemingly benign code. While the characters in this
font header file are legitimately used as glyph data representations in
comments rather than for malicious purposes, the compiler cannot distinguish
intent and correctly flags them as a potential security risk. The kernel
build system treats all warnings as errors (-Werror), causing the build
to fail. By replacing the actual invisible control characters with their
human-readable abbreviations (LRM for Left-to-Right Mark, RLM for
Right-to-Left Mark, PDF for Pop Directional Formatting, and PDI for Pop
Directional Isolate), we maintain the original documentation purpose of
identifying which Unicode codepoint each glyph represents while ensuring
the code compiles cleanly and passes security-focused static analysis.

Link: https://www.cve.org/CVERecord?id=CVE-2021-42574
Link: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wbidi-chars
Link: https://unicode.org/reports/tr9/
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
[Only fix 16x16]
(cherry picked from commit 380793f)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: bugfix

Temporary disable these configs to mitigate this vulnerability from
CVE-2026-46300.

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
(cherry picked from commit c7fae3b)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Add CONFIG_RUST=y to the deepin desktop defconfig files for arm64,
loongarch, s390x, and x86 architectures to enable kernel Rust support.

Please note that the deepin kernel still defaults to building with GCC.
Make sure all CI environments are configured so that running "make
rustavailable" prints "Rust is available!".

Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
Add functions to make casting slices only one `unsafe` block.

Signed-off-by: Benno Lossin <benno.lossin@proton.me>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/commit/?h=untrusted&id=24faf69bdc54e056621786f4c48bc6cd15c3cbf6
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
When the kernel receives external data (e.g. from userspace), it usually
is a very bad idea to directly use the data for logic decision in the
kernel. For this reason, such data should be explicitly marked and
validated before making decision based on its value.

The `Untrusted<T>` wrapper type marks a value of type `T` as untrusted.
The particular meaning of "untrusted" highly depends on the type `T`.
For example `T = u8` ensures that the value of the byte cannot be
retrieved. However, `T = [u8]` still allows to access the length of the
slice. Similarly, `T = KVec<U>` allows modifications.

Signed-off-by: Benno Lossin <benno.lossin@proton.me>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[WangYuli: Fix conflicts]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/commit/?h=untrusted&id=3937bad8a8bf2e5d7fc3e11b4ed1aae21df71b02
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
Introduce the `Validate<Input>` trait and functions to validate
`Untrusted<T>` using said trait. This allows one to access the inner
value of `Untrusted<T>` via `validate{,_ref,_mut}` functions which
subsequently delegate the validation to user-implemented `Validate`
trait.

The `Validate` trait is the only entry point for validation code, making
it easy to spot where data is being validated.

The reason for restricting the types that can be inputs to
`Validate::validate` is to be able to have the `validate...` functions
on `Untrusted`. This is also the reason for the suggestions in the
`Usage in API Design` section in the commit that introduced
`Untrusted<T>`.

Signed-off-by: Benno Lossin <benno.lossin@proton.me>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/commit/?h=untrusted&id=4de2ce9189dcc45103f39fcc3e55eb1d792cf51b
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
fix works failed in 32x32.
use lib/fonts/font_cjk_32x32.h from our linux-6.6.y branch.

Fixes: 301590c ("FROMEXT: cjktty-6.16.patch")
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
leapraid driver changes from v2.0.0.6 to v2.0.1.2.

This update includes:
- overheat handling rework
- reset flow stabilization
- improved timeout diagnostics
- sysfs enhancement
- topology and transport error-path fixes
- memory leak/UAF/reference leak fixes
- mmap/ioctl validation fixes
- improved queue depth handling
- improved interrupt and resource cleanup logic

The update also fixes several race conditions and improves
overall driver robustness under reset, topology change,
and controller abnormal scenarios.

Signed-off-by: Dongdong Hao <doubled@leap-io-kernel.com>
opsiff and others added 20 commits September 4, 2026 20:55
deepin inclusion
category: performance

CONFIG_NR_CPUS=4096 clearly over our all desktop/server/hpc users requirement,
limit it to a possible value to more match cacheline and save memory.

unixbench test show that no regression happened.

Log:
without:
24 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       29982441.6 lps   (10.0 s, 1 samples)
Double-Precision Whetstone                     4732.1 MWIPS (9.5 s, 1 samples)
Execl Throughput                               2432.1 lps   (29.8 s, 1 samples)
File Copy 1024 bufsize 2000 maxblocks        605217.0 KBps  (30.0 s, 1 samples)
File Copy 256 bufsize 500 maxblocks          173412.0 KBps  (30.0 s, 1 samples)
File Copy 4096 bufsize 8000 maxblocks       1757219.0 KBps  (30.0 s, 1 samples)
Pipe Throughput                             1418412.0 lps   (10.0 s, 1 samples)
Pipe-based Context Switching                 156680.7 lps   (10.0 s, 1 samples)
Process Creation                               5021.4 lps   (30.0 s, 1 samples)
Shell Scripts (1 concurrent)                   7183.0 lpm   (60.0 s, 1 samples)
Shell Scripts (8 concurrent)                   5890.7 lpm   (60.0 s, 1 samples)
System Call Overhead                         903826.0 lps   (10.0 s, 1 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   29982441.6   2569.2
Double-Precision Whetstone                       55.0       4732.1    860.4
Execl Throughput                                 43.0       2432.1    565.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     605217.0   1528.3
File Copy 256 bufsize 500 maxblocks            1655.0     173412.0   1047.8
File Copy 4096 bufsize 8000 maxblocks          5800.0    1757219.0   3029.7
Pipe Throughput                               12440.0    1418412.0   1140.2
Pipe-based Context Switching                   4000.0     156680.7    391.7
Process Creation                                126.0       5021.4    398.5
Shell Scripts (1 concurrent)                     42.4       7183.0   1694.1
Shell Scripts (8 concurrent)                      6.0       5890.7   9817.8
System Call Overhead                          15000.0     903826.0    602.6
                                                                   ========
System Benchmarks Index Score                                        1219.5

------------------------------------------------------------------------
Benchmark Run: 二 6月 02 2026 10:43:23 - 10:50:06
24 CPUs in system; running 24 parallel copies of tests

Dhrystone 2 using register variables      721768353.8 lps   (10.0 s, 1 samples)
Double-Precision Whetstone                   108404.8 MWIPS (10.0 s, 1 samples)
Execl Throughput                              41784.6 lps   (29.0 s, 1 samples)
File Copy 1024 bufsize 2000 maxblocks       5908598.0 KBps  (30.0 s, 1 samples)
File Copy 256 bufsize 500 maxblocks         4161488.0 KBps  (30.0 s, 1 samples)
File Copy 4096 bufsize 8000 maxblocks       7629387.0 KBps  (30.0 s, 1 samples)
Pipe Throughput                            33967811.2 lps   (10.0 s, 1 samples)
Pipe-based Context Switching                5096634.8 lps   (10.0 s, 1 samples)
Process Creation                              61454.0 lps   (30.0 s, 1 samples)
Shell Scripts (1 concurrent)                  89999.3 lpm   (60.0 s, 1 samples)
Shell Scripts (8 concurrent)                  11291.7 lpm   (60.0 s, 1 samples)
System Call Overhead                       21695535.8 lps   (10.0 s, 1 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  721768353.8  61848.2
Double-Precision Whetstone                       55.0     108404.8  19710.0
Execl Throughput                                 43.0      41784.6   9717.3
File Copy 1024 bufsize 2000 maxblocks          3960.0    5908598.0  14920.7
File Copy 256 bufsize 500 maxblocks            1655.0    4161488.0  25144.9
File Copy 4096 bufsize 8000 maxblocks          5800.0    7629387.0  13154.1
Pipe Throughput                               12440.0   33967811.2  27305.3
Pipe-based Context Switching                   4000.0    5096634.8  12741.6
Process Creation                                126.0      61454.0   4877.3
Shell Scripts (1 concurrent)                     42.4      89999.3  21226.2
Shell Scripts (8 concurrent)                      6.0      11291.7  18819.6
System Call Overhead                          15000.0   21695535.8  14463.7
                                                                   ========
System Benchmarks Index Score                                       16976.8

with:
Benchmark Run: 二 6月 02 2026 12:38:58 - 12:45:42
24 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       30184659.9 lps   (10.0 s, 1 samples)
Double-Precision Whetstone                     4517.4 MWIPS (9.9 s, 1 samples)
Execl Throughput                               2421.8 lps   (29.2 s, 1 samples)
File Copy 1024 bufsize 2000 maxblocks        604313.0 KBps  (30.0 s, 1 samples)
File Copy 256 bufsize 500 maxblocks          177897.0 KBps  (30.0 s, 1 samples)
File Copy 4096 bufsize 8000 maxblocks       1750778.0 KBps  (30.0 s, 1 samples)
Pipe Throughput                             1414020.3 lps   (10.0 s, 1 samples)
Pipe-based Context Switching                 149830.5 lps   (10.0 s, 1 samples)
Process Creation                               5016.6 lps   (30.0 s, 1 samples)
Shell Scripts (1 concurrent)                   7164.2 lpm   (60.0 s, 1 samples)
Shell Scripts (8 concurrent)                   5882.4 lpm   (60.0 s, 1 samples)
System Call Overhead                         902406.4 lps   (10.0 s, 1 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   30184659.9   2586.5
Double-Precision Whetstone                       55.0       4517.4    821.3
Execl Throughput                                 43.0       2421.8    563.2
File Copy 1024 bufsize 2000 maxblocks          3960.0     604313.0   1526.0
File Copy 256 bufsize 500 maxblocks            1655.0     177897.0   1074.9
File Copy 4096 bufsize 8000 maxblocks          5800.0    1750778.0   3018.6
Pipe Throughput                               12440.0    1414020.3   1136.7
Pipe-based Context Switching                   4000.0     149830.5    374.6
Process Creation                                126.0       5016.6    398.1
Shell Scripts (1 concurrent)                     42.4       7164.2   1689.7
Shell Scripts (8 concurrent)                      6.0       5882.4   9803.9
System Call Overhead                          15000.0     902406.4    601.6
                                                                   ========
System Benchmarks Index Score                                        1211.6

------------------------------------------------------------------------
Benchmark Run: 二 6月 02 2026 12:45:42 - 12:52:25
24 CPUs in system; running 24 parallel copies of tests

Dhrystone 2 using register variables      720910401.8 lps   (10.0 s, 1 samples)
Double-Precision Whetstone                   108403.0 MWIPS (9.9 s, 1 samples)
Execl Throughput                              41148.2 lps   (29.1 s, 1 samples)
File Copy 1024 bufsize 2000 maxblocks       5873695.0 KBps  (30.0 s, 1 samples)
File Copy 256 bufsize 500 maxblocks         4199501.0 KBps  (30.0 s, 1 samples)
File Copy 4096 bufsize 8000 maxblocks       7592616.0 KBps  (30.0 s, 1 samples)
Pipe Throughput                            33760461.7 lps   (10.0 s, 1 samples)
Pipe-based Context Switching                4999475.3 lps   (10.0 s, 1 samples)
Process Creation                              61476.4 lps   (30.0 s, 1 samples)
Shell Scripts (1 concurrent)                  89711.7 lpm   (60.0 s, 1 samples)
Shell Scripts (8 concurrent)                  11251.2 lpm   (60.1 s, 1 samples)
System Call Overhead                       21762060.0 lps   (10.0 s, 1 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  720910401.8  61774.7
Double-Precision Whetstone                       55.0     108403.0  19709.6
Execl Throughput                                 43.0      41148.2   9569.4
File Copy 1024 bufsize 2000 maxblocks          3960.0    5873695.0  14832.6
File Copy 256 bufsize 500 maxblocks            1655.0    4199501.0  25374.6
File Copy 4096 bufsize 8000 maxblocks          5800.0    7592616.0  13090.7
Pipe Throughput                               12440.0   33760461.7  27138.6
Pipe-based Context Switching                   4000.0    4999475.3  12498.7
Process Creation                                126.0      61476.4   4879.1
Shell Scripts (1 concurrent)                     42.4      89711.7  21158.4
Shell Scripts (8 concurrent)                      6.0      11251.2  18752.0
System Call Overhead                          15000.0   21762060.0  14508.0
                                                                   ========
System Benchmarks Index Score                                       16910.5

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Commit 259ac69 ("deepin: defconfig: enable Rust support in deepin
configurations") mistakenly added CONFIG_RUST=y directly to
deepin_s390x_z13_defconfig for the s390 architecture.

However, s390 does not actually support Rust yet. While there are
ongoing discussions about this feature on the kernel mailing list [1],
the implementation is still immature, and the cost of backporting it
to linux-6.18.y is too high.

Let's drop this work for now.

[1]. https://lore.kernel.org/all/20260608181451.3734956-1-japo@linux.ibm.com/

Link: Rust-for-Linux/linux#2
Fixes: 259ac69 ("deepin: defconfig: enable Rust support in deepin configurations")
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
leapraid driver changes from v2.00.01.02 to v2.00.01.05.

This update includes:
- recovery wait and hard reset flow stabilization
- improved timeout diagnostics with per-command context logging
- MSI-X/IRQ CPU affinity fixes
- SAS topology and event bitmap alignment fixes
- transport and task-management error-path cleanup
- config-page stack usage reduction and adapter info cleanup
- ioctl compatibility cleanup
- resource cleanup and failure-path hardening

Signed-off-by: Hao Dongdong <doubled@leap-io-kernel.com>
[ Upstream commit bb365a5 ]

The TPR_THRESHOLD field in the VMCS is used by VMX to induce VM exits
when the guest's virtual TPR falls under the specified threshold,
allowing KVM to inject previously masked interrupts.

KVM handles these VM exits in handle_tpr_below_threshold().
Commit eb90f34 ("KVM: vmx: speed up TPR below threshold vmexits")
optimized this function by calling apic_update_ppr() instead of raising
KVM_REQ_EVENT. apic_update_ppr() then raises KVM_REQ_EVENT if there is
a pending, deliverable interrupt.

However, if there are no new interrupts pending, apic_update_ppr() does
not issue the request. Thus, kvm_lapic_update_cr8_intercept() and
vmx_update_cr8_intercept() are not called before VM entry, which results
in a high, stale TPR_THRESHOLD. This is problematic due to the following
sentence in 28.2.1.1 "VM-Execution Control Fields" in the SDM:

  The following check is performed if the “use TPR shadow” VM-execution
  control is 1 and the “virtualize APIC accesses” and “virtual-interrupt
  delivery” VM-execution controls are both 0: the value of bits 3:0 of
  the TPR threshold VM-execution control field should not be greater
  than the value of bits 7:4 of VTPR.

This error condition is typically not observed when KVM runs on a bare
metal system because modern processors support APICv, which enables
virtual-interrupt delivery, and which KVM uses when possible. This
causes the processor to no longer generate TPR-below-threshold exits
and to no longer check TPR_THRESHOLD on entry. However, when running
on older platforms, or under nested virtualization on a hypervisor that
does not support virtual-interrupt delivery and enforces this check
(like Hyper-V) this can cause a VM entry failure with hardware error
0x7, as seen in [1].

Call kvm_lapic_update_cr8_intercept() if apic_update_ppr() does not
find a deliverable interrupt (and thus does not raise KVM_REQ_EVENT).
Remove calls to kvm_lapic_update_cr8_intercept() on paths that end up in
apic_update_ppr(), as they now become redundant. This ensures that any
path that updates the guest's PPR also figures out if KVM needs to wait
for a TPR change (using TPR_THRESHOLD on VMX or CR8 intercepts on SVM).

Link: coconut-svsm/svsm#1081 [1]
Tested-by: Stefano Garzarella <sgarzare@redhat.com>
Cc: stable@vger.kernel.org
Fixes: eb90f34 ("KVM: vmx: speed up TPR below threshold vmexits")
Signed-off-by: Carlos López <clopez@suse.de>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-ID: <20260618174347.1981064-3-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Conflicts:
	arch/x86/kvm/x86.c
(cherry picked from commit ff9c4c6428883182960cfe5c78928f0896d80ebc)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
…fault

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8QLND
CVE: NA

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

The kernel memory accounting for all memory cgroups is
not stable, and it will cause a 100% regression in
hackbench compared with kernel-4.19, so disable it by
default. We can use the following command line to enable
or disable it:
cgroup.memory=kmem or cgroup.memory=nokmem.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
Signed-off-by: chenridong <chenridong@huawei.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
(cherry picked from commit 53fbd8c)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: bugfix

users report 3A6000M Laptop works failed with new driver and kernel,
builtin the pwm driver until loongson find a proper way.

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
The Kioxia THGJFGT1E45BAILB UFS 3.1 device fails to resume from
suspend with OCS invalid and PHY adapter errors when transitioning
power modes via START STOP UNIT:

  ufshcd-qcom: OCS invalid from controller for tag 28
  ufshcd-qcom: pa_err[0] = 0x80000001 at 315293661 us
  ufshcd-qcom: dl_err[0] = 0x80004000 at 315293662 us
  ufshcd-qcom: __ufshcd_issue_tm_cmd: task management cmd 0x08 timed-out
  ufshcd-qcom: ufshcd_eh_device_reset_handler: failed with err -110

Add UFS_DEVICE_QUIRK_PA_TACTIVATE to set PA_TACTIVATE to 1ms, giving
the M-PHY adequate stabilization time during power mode transitions.

Tested on Radxa Dragon Q6A.

[WangYuli: Move this quirk from ufs_qcom_dev_fixups to ufs_fixups.]

Link: https://forum.radxa.com/t/ufs-random-reboots/30630
Link: radxa/kernel#551
Signed-off-by: Chongbiao Chen <chenchongbiao@radxa.com>
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
deepin inclusion
category: bugfix

Add Ben Hutchings' X.509 certificate used by Debian to sign its
regulatory.db, so the signature verification passes when
use debian`s wireless-regdb.

This cert shipped from /lib/firmware/regulatory.db.p7s-debian by
openssl pkcs7 -inform DER -in /lib/firmware/regulatory.db.p7s-debian -print_certs

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion
category: feature

The swiotlb machinery is also used for “restricted pools”, which are pools of
memory separate from the default swiotlb pool, and that are dedicated for
DMA use by a particular device. Restricted pools provide a level of
DMA memory protection on systems with limited hardware protection capabilities,
 such as those lacking an IOMMU. Such usage is specified by DeviceTree entries
and requires that CONFIG_DMA_RESTRICTED_POOL is set.
Each restricted pool is based on its own io_tlb_mem data structure that is
independent of the main swiotlb io_tlb_mem.

Link: https://docs.kernel.org/core-api/swiotlb.html#restricted-pools
Link: https://bbs.deepin.org/post/300474
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Currently the out of bounds check for the length is very unlikely
to be false for valid name strings. Analysis with gcov coverage show
this to be so.

Add an unlikely hint on the error return path check. This improves
performance when testing with single instance stress-ng dentry and
dirent stressors. Tested with a 6.15 kernel, built with gcc 14.2.0
on a Debian Ultra 9 285K system with turbo disabled to reduce test
jitter on tmpfs. Each test case was run 25 times and the % standard
deviation was less than 0.4%. Geometric mean of 25 results show the
following stress-ng bogo-ops performance improvments:

getdent: 1.1%
dentry:  0.9%

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
deepin inclusion
category: bugfix

Hibernation requires a fixed kernel load address. EFI preferred-address
randomization runs before relocate.c's hibernation checks, and the
relocation-time KASLR is skipped once kaslr_offset() is nonzero.

Keep the EFI load address fixed when CONFIG_HIBERNATION is enabled.
relocate.c still handles the nohibernate/noresume exceptions by applying
relocation-time KASLR when hibernation is disabled from the command line.

Fixes: 659095a ("efi/loongarch: Randomize kernel preferred address for KASLR")
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Commit 085981d ("gpu: Move DRM buddy allocator one level up
(part two)") renamed the whole DRM buddy allocator API to gpu_buddy_*
and moved the definitions to include/linux/gpu_buddy.h, leaving
include/drm/drm_buddy.h with only the drm_buddy_print() helpers.

This breaks out-of-tree modules written against the old drm_buddy_*
interface (e.g. the loonggpu DKMS driver), which now fail to build
with incomplete struct drm_buddy and implicit declarations of
drm_buddy_block_offset() and friends.

Add the old type, flag and function names back to drm_buddy.h as
preprocessor aliases mapping onto the new gpu_buddy_* API. The
aliases are pure compile-time renaming, so such modules keep building
and link against the already exported gpu_buddy_* symbols without any
functional change to in-tree code.

Assisted-by: kimi:Kimi-K3
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
…dules

Commit 0ea1144 ("drm/fb-helper: Allocate and release fb_info in
single place", backported from v6.19) moved the drm_fb_helper_alloc_info()
call out of drivers into the fbdev helpers and made the function itself
private, so neither drm_fb_helper_alloc_info() nor its old name
drm_fb_helper_alloc_fbi() (removed in v6.1) is available to modules
anymore.

Out-of-tree drivers that still follow the old fbdev setup flow, such as
the loonggpu DKMS driver, fail to build with implicit declarations of
drm_fb_helper_alloc_fbi() and drm_fb_helper_unregister_fbi(). Note that
in the new flow drm_fb_helper_initial_config() allocates the fb_info
instance before invoking the driver's fbdev_probe callback, so the old
alloc helper only has to return the instance stored in
drm_fb_helper.info.

Add drm_fb_helper_alloc_fbi() back as an inline wrapper returning
fb_helper->info, and alias drm_fb_helper_unregister_fbi() to
drm_fb_helper_unregister_info(). No functional change for in-tree code.

Assisted-by: kimi:Kimi-K3
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
…oline

The rethook trampoline saves $r21 ($u0), the percpu base, into its
frame at entry and restores it at exit. In between,
rethook_trampoline_handler() may schedule via preempt_enable_notrace();
if the task migrates to another CPU, the frame's $r21 names the old
CPU's percpu base, and restoring it poisons $r21 on the new CPU. Until
the next user->kernel transition heals $r21, this_cpu_*() accesses
(runqueues, RCU per-CPU data, timer tick programming, FPU ownership)
hit the wrong CPU's percpu area.

Under kretprobe-heavy preemptible load this corrupts scheduler and
timer state: scheduling-while-atomic splats, wrong-CPU RCU warnings,
WARN_ON_ONCE(rq != this_rq()) in nohz_balance_exit_idle(), and CPUs
parking in the idle loop with the constant timer never re-armed (hard
lockup). Reproduces on a Loongson-3A6000 with kretprobes on VFS paths
plus heavy file churn (OS install / unsquashfs).

By convention $r21 always holds the current CPU's percpu base in kernel
mode: exception entries reload it only when coming from user mode, and
RESTORE_SOME() restores it only when returning to user mode; the
context-switch path never writes it. The live $r21 at trampoline exit
is therefore already correct, and nothing in between can legitimately
change it (kernel C code cannot write a global register variable). The
same flaw existed in the pre-rethook kretprobe trampoline since v6.3;
it was carried over when rethook replaced it. Drop both the save and
the restore. Drop the restore to solve the issue, and drop the save
to keep the code tidy and for a privileged reader, neither matters much,
so no need to clear it.

Fixes: 3f55368 ("LoongArch: Add kretprobes support")
Cc: stable@vger.kernel.org # v6.5+
Assisted-by: Kimi:Kimi-K3 # debug and root-cause analysis
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
These 99 entries (96 =y/=m, 3 "is not set") reference Kconfig symbols
that no longer exist in 7.2 and are silently ignored by make defconfig:

- whole subsystems removed upstream: AX.25/hamradio, ISDN/mISDN, ATM,
  CAIF, legacy PCMCIA NICs, old Ethernet drivers, ezx-pcap platform
- features dropped upstream: CRYPTO_DRBG_CTR/HASH, CRYPTO_DES3_EDE_X86_64,
  CRYPTO_AES_TI, CRYPTO_ANSI_CPRNG, EROFS_FS_ONDEMAND,
  ITCO_VENDOR_SUPPORT, EDAC_LEGACY_SYSFS, IIO_INTERRUPT_TRIGGER,
  SND_SOC_AMD_RPL_ACP6x (ASoC RPL driver), USB_CDNSP host/gadget roles,
  I2C_DESIGNWARE_SLAVE, SERIAL_8250_DEPRECATED_OPTIONS
- symbols merged or made unconditional: NFS_V4_1,
  RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1/SHA2
- migrated into lib/crypto with default-y arch helpers:
  CRYPTO_GHASH_CLMUL_NI_INTEL, CRYPTO_SM3_AVX_X86_64,
  CRYPTO_NHPOLY1305_SSE2/AVX2, CRYPTO_POLYVAL_CLMUL_NI
- renames not followed: PCI_PWRCTRL_SLOT (now PCI_PWRCTRL_GENERIC),
  DRM_PANEL_ILITEK_ILI9806E (split into _CORE/_DSI/_SPI)

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
The upstream ASoC RPL driver (SND_SOC_AMD_RPL_ACP6x) was dropped in 7.2;
new AMD platforms are covered by the ACP7.x driver. Enable it as a module
like the other AMD ACP variants.

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 20000 lines

@dongert
dongert requested a balanced review from Copilot September 4, 2026 12:58
@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from opsiff. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved critical and moderate defects affect PCIe teardown, GRT VPD handling, and IPU6 PSYS behavior.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Rebases Deepin’s downstream kernel patches onto Linux 7.2, adding hardware support, compatibility layers, configuration updates, and build fixes.

Changes:

  • Adds GRT Ethernet and Intel IPU6 PSYS support.
  • Updates architecture, memory-control, DRM, PCIe, Rust, and device compatibility.
  • Refreshes defconfigs and GitHub Actions workflows.
File summaries
File Description
tools/testing/selftests/x86/sysret_rip.c Handles FRED syscall semantics.
scripts/Makefile.rust Defines bindgen targets.
scripts/Kconfig.include Adds bindgen option detection.
rust/Makefile Uses shared bindgen target configuration.
rust/kernel/validate.rs Adds untrusted-data validation API.
rust/kernel/transmute.rs Adds slice-casting helpers.
rust/kernel/lib.rs Exports the validation module.
net/wireless/certs/benh.hex Adds a regulatory certificate.
mm/memcontrol.c Disables kmem accounting by default.
Makefile Includes Rust build configuration.
lib/fonts/font_cjk_16x16.h Clarifies control-character labels.
include/uapi/linux/ipu-psys.h Adds the IPU PSYS userspace ABI.
include/drm/drm_fb_helper.h Adds legacy fbdev compatibility.
include/drm/drm_buddy.h Adds legacy buddy API aliases.
fs/readdir.c Marks invalid lengths unlikely.
drivers/ufs/core/ufshcd.c Adds a Toshiba UFS quirk.
drivers/scsi/leapraid/Kconfig Corrects help text.
drivers/pci/controller/cadence/pcie-cadence.h Adds root-complex platform hooks.
drivers/pci/controller/cadence/pcie-cadence-host.c Invokes root-complex platform hooks.
drivers/net/ethernet/Makefile Builds the GRT vendor directory.
drivers/net/ethernet/Kconfig Sources GRT configuration.
drivers/net/ethernet/guangruntong/Makefile Adds GRT driver build rules.
drivers/net/ethernet/guangruntong/Kconfig Adds GRT driver options.
drivers/net/ethernet/guangruntong/grtnic_xgb/Makefile Builds the grtnic_xgb driver.
drivers/net/ethernet/guangruntong/grtnic_xgb/kcompat_ubuntu_defs.h Adds Ubuntu compatibility definitions.
drivers/net/ethernet/guangruntong/grtnic_xgb/kcompat_std_defs.h Adds upstream compatibility definitions.
drivers/net/ethernet/guangruntong/grtnic_xgb/kcompat_sles_defs.h Adds SLES compatibility definitions.
drivers/net/ethernet/guangruntong/grtnic_xgb/kcompat_rhel_defs.h Adds RHEL compatibility definitions.
drivers/net/ethernet/guangruntong/grtnic_xgb/kcompat_generated_defs.h Adds generated feature definitions.
drivers/net/ethernet/guangruntong/grtnic_xgb/kcompat_gcc.h Adds compiler compatibility helpers.
drivers/net/ethernet/guangruntong/grtnic_xgb/kcompat_defs.h Selects compatibility definitions.
drivers/net/ethernet/guangruntong/grtnic_xgb/grtnic_proc.c Adds procfs diagnostics.
drivers/net/ethernet/guangruntong/grtnic_xgb/grtnic_param.c Adds module parameter handling.
drivers/net/ethernet/guangruntong/grtnic_xgb/grtnic_nvm.h Declares flash operations.
drivers/net/ethernet/guangruntong/grtnic_xgb/grtnic_nvm.c Implements flash operations.
drivers/net/ethernet/guangruntong/grtnic_xgb/dma_add.h Defines DMA registers.
drivers/net/ethernet/guangruntong/grtnic_xgb/auxiliary_compat.h Adds auxiliary-bus compatibility.
drivers/media/pci/intel/ipu6/psys/Makefile Builds PSYS components.
drivers/media/pci/intel/ipu6/psys/ipu6se-platform-resources.h Defines IPU6SE resources.
drivers/media/pci/intel/ipu6/psys/ipu6se-fw-resources.c Adds IPU6SE resource tables.
drivers/media/pci/intel/ipu6/psys/ipu6ep-platform-resources.h Defines IPU6EP cells.
drivers/media/pci/intel/ipu6/psys/ipu6ep-fw-resources.c Adds IPU6EP resource tables.
drivers/media/pci/intel/ipu6/psys/ipu6-psys-gpc.c Adds debug performance counters.
drivers/media/pci/intel/ipu6/psys/ipu6-ppg.h Declares PPG operations.
drivers/media/pci/intel/ipu6/psys/ipu6-platform-resources.h Defines IPU6 resources.
drivers/media/pci/intel/ipu6/psys/ipu-psys.h Defines PSYS driver state.
drivers/media/pci/intel/ipu6/psys/ipu-psys-compat32.c Adds 32-bit ioctl translation.
drivers/media/pci/intel/ipu6/psys/ipu-platform-resources.h Declares common resource APIs.
drivers/media/pci/intel/ipu6/psys/ipu-platform-psys.h Defines scheduler structures.
drivers/media/pci/intel/ipu6/psys/ipu-fw-resources.c Implements resource accessors.
drivers/media/pci/intel/ipu6/psys/ipu-fw-psys.h Defines firmware ABI structures.
drivers/media/pci/intel/ipu6/Makefile Enables the PSYS subdirectory.
drivers/media/pci/intel/ipu6/ipu6-bus.h Makes buttress control mutable.
drivers/media/pci/intel/ipu6/ipu6-bus.c Updates the bus initialization signature.
drivers/irqchip/irq-gic-phytium-2500-its.c Constifies syscore operations.
drivers/input/mouse/Kconfig Restricts PixArt support.
drivers/firmware/efi/libstub/loongarch.c Adjusts KASLR for hibernation.
drivers/bus/mhi/host/pci_generic.c Adds an SDX55 device ID.
Documentation/hwmon/yogafan.rst Adjusts RST formatting.
Documentation/admin-guide/kernel-parameters.txt Documents cgroup.memory=kmem.
Documentation/admin-guide/cgroup-v1/memory.rst Documents the new kmem default.
arch/x86/kvm/x86.c Updates protected-guest register restoration.
arch/s390/configs/deepin_s390x_z13_defconfig Enables legacy NTFS.
arch/loongarch/kernel/signal.c Exposes signal-frame setup.
arch/loongarch/kernel/rethook_trampoline.S Adjusts trampoline register handling.
arch/loongarch/kernel/relocate.c Disables KASLR for hibernation.
arch/loongarch/kernel/ptrace.c Exposes ptrace helpers.
arch/loongarch/kernel/Makefile Builds exported wrappers.
arch/loongarch/kernel/extern.c Exports signal wrappers.
arch/loongarch/include/asm/lbt.h Updates assembly declarations.
arch/loongarch/include/asm/fpu.h Updates FPU assembly declarations.
arch/loongarch/configs/deepin_loongarch_desktop_defconfig Refreshes the desktop configuration.
arch/arm64/configs/deepin_arm64_desktop_defconfig Refreshes the ARM64 configuration.
.github/workflows/package-kernel-loong64-daily.yml Updates the checkout action.
.github/workflows/package-kernel-arm64-daily.yml Updates the checkout action.
.github/workflows/package-kernel-amd64-daily.yml Updates the checkout action.
.github/workflows/check-depend-all.yml Adds dependency checking.
.github/workflows/check-config.yml Updates the checkout action.
.github/workflows/build-kernel.yml Updates the checkout action.
.github/workflows/build-kernel-s390.yml Updates the checkout action.
.github/workflows/build-kernel-loong64.yml Updates the checkout action.
.github/workflows/build-kernel-arm64.yml Updates the checkout action.
.github/tools/check_kernel_commits.sh Adds commit dependency analysis.
Review details

Suppressed comments (2)

drivers/media/pci/intel/ipu6/psys/ipu-fw-resources.c:53

  • cell_id may already equal the sentinel var->cell_num; with the 32-cell variant this evaluates 1 << 32, which is undefined, before determining that there is nothing to clear. Check the ID range first and use BIT() for the bitmap operation.
    drivers/media/pci/intel/ipu6/psys/ipu6-psys-gpc.c:145
  • A successful counter read acquires a runtime-PM reference but never releases it, so each debugfs read permanently increments the device usage count and eventually prevents runtime suspend.
  • Files reviewed: 70/108 changed files
  • Comments generated: 9
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +91 to +95
{
/* IPU6_FW_PSYS_SP1_ID */
IPU6_FW_PSYS_N_MEM_ID,
IPU6_FW_PSYS_N_MEM_ID,
IPU6_FW_PSYS_N_MEM_ID,

memset(temp, 0x00, FLASH_SUBSECTOR_SIZE);

read_flash_buffer(adapter, offset, FLASH_SUBSECTOR_SIZE >> 2, temp); //subsector is 4K
endif
endif

intel-ipu6-psys-objs += ipu-psys.o \
Comment on lines +28 to +29
ptr->cells[index] = value;
parent->resource_bitmap |= 1 << value;
Comment on lines +45 to +46
u32 frame_counter;
u32 reserved[2];
err = native_ioctl(file, cmd, (unsigned long)&karg);
force_uaccess_end(old_fs);
#else
err = native_ioctl(file, cmd, (unsigned long)&karg);
Comment on lines +66 to +68
res = pm_runtime_get_sync(&psys->adev->dev);
if (res < 0) {
pm_runtime_put(&psys->adev->dev);
Comment on lines +133 to +136
write_flash_buffer(adapter, offset, FLASH_SUBSECTOR_SIZE >> 2, temp);
vfree(temp);

return 0;
Comment on lines +273 to +276
grtnic_validate_option(adapter->netdev,
&itr, &opt);
/* the first bit is used as control */
adapter->rx_itr_setting = (1000000 / itr) << 2;
The process is always failed, disable it for avoid noise.

Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
@opsiff
opsiff merged commit b39c8fe into deepin-community:linux-7.2.y Sep 4, 2026
8 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.