Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
fa732a0
iio: gyro: mpu3050: Fix irq resource leak
Feb 24, 2026
cf5b5c9
iio: gyro: mpu3050: Move iio_device_register() to correct location
Feb 24, 2026
aa2ea72
iio: gyro: mpu3050: Fix out-of-sequence free_irq()
Feb 24, 2026
3b56d39
usb: quirks: add DELAY_INIT quirk for another Silicon Motion flash drive
Mar 19, 2026
f560b04
usb: ulpi: fix double free in ulpi_register_interface() error path
lgs2513 Apr 1, 2026
2918534
usb: usbtmc: Flush anchored URBs in usbtmc_release
hrasiq Mar 12, 2026
acb3bda
usb: ehci-brcm: fix sleep during atomic
Ryceancurry Mar 18, 2026
0229c6d
usb: dwc2: gadget: Fix spin_lock/unlock mismatch in dwc2_hsotg_udc_st…
Mar 24, 2026
6e38525
usb: cdns3: gadget: fix NULL pointer dereference in ep_queue
Mar 31, 2026
162cd3c
usb: cdns3: gadget: fix state inconsistency on gadget init failure
Apr 1, 2026
3973fe3
vfio: Create vfio_fs_type with inode per device
Apr 2, 2026
23737c5
vfio/pci: Use unmap_mapping_range()
Apr 2, 2026
2da7eee
vfio/pci: Insert full vma on mmap'd MMIO fault
Apr 2, 2026
ad31e11
fork: defer linking file vma until vma is fully initialized
MiaoheLin Apr 10, 2024
62dfc71
bridge: br_nd_send: validate ND option lengths
Mar 26, 2026
e0914d7
cdc-acm: new quirk for EPSON HMD
oneukum Mar 17, 2026
b3bfddf
comedi: dt2815: add hardware detection to prevent crash
deepanshu406 Mar 9, 2026
f777057
comedi: Reinit dev->spinlock between attachments to low-level drivers
ian-abbott Feb 25, 2026
0195863
comedi: ni_atmio16d: Fix invalid clean-up after failed attach
ian-abbott Jan 28, 2026
4bfdbb6
comedi: me_daq: Fix potential overrun of firmware buffer
ian-abbott Feb 5, 2026
b1bbf1d
comedi: me4000: Fix potential overrun of firmware buffer
ian-abbott Feb 5, 2026
ebf3a15
dt-bindings: connector: add pd-disable dependency
Mar 30, 2026
ca4ded1
nvmem: imx: assign nvmem_cell_info::raw_len
ceggers-arri Mar 27, 2026
49c0576
netfilter: ipset: drop logically empty buckets in mtype_del
GhostFrankWu Mar 30, 2026
53c5916
counter: rz-mtu3-cnt: prevent counter from being toggled multiple times
Demon000 Jan 30, 2026
43bacd0
counter: rz-mtu3-cnt: do not use struct rz_mtu3_channel's dev member
Demon000 Jan 30, 2026
d01d307
vxlan: validate ND option lengths in vxlan_na_create
Mar 26, 2026
233e2bd
net: ftgmac100: fix ring allocation unwind on open failure
Eric-Terminal Mar 28, 2026
cc15853
cpufreq: governor: fix double free in cpufreq_dbs_governor_init() err…
lgs2513 Apr 1, 2026
92dde90
gpio: mxc: map Both Edge pad wakeup to Rising Edge
Mar 24, 2026
733ef7e
thermal: core: Fix thermal zone device registration error path
rafaeljw Apr 1, 2026
0b3cdb2
misc: fastrpc: possible double-free of cctx->remote_heap
MicroMilo Jan 29, 2026
9c3193d
thunderbolt: Fix property read in nhi_wake_supported()
quic-kdybcio Mar 9, 2026
d1552a6
USB: dummy-hcd: Fix locking/synchronization error
AlanStern Mar 15, 2026
6f16a56
USB: dummy-hcd: Fix interrupt synchronization error
AlanStern Mar 15, 2026
1606f15
usb: gadget: dummy_hcd: fix premature URB completion when ZLP follows…
surban Mar 15, 2026
5003281
btrfs: fix the qgroup data free range for inline data extents
adam900710 Nov 15, 2024
7d34aaa
btrfs: do not free data reservation in fallback from inline due to -E…
fdmanana Dec 12, 2025
fca12fb
gfs2: Improve gfs2_consist_inode() usage
andyprice Apr 3, 2026
683c0bf
gfs2: Validate i_depth for exhash directories
andyprice Apr 3, 2026
6ae5e7e
LoongArch: vDSO: Emit GNU_EH_FRAME correctly
xry111 Mar 26, 2026
cedd027
usb: gadget: u_ether: Fix race between gether_disconnect and eth_stop
Mar 11, 2026
4bbca76
usb: gadget: uvc: fix NULL pointer dereference during unbind race
Mar 20, 2026
a224626
usb: gadget: f_subset: Fix unbalanced refcnt in geth_free
Mar 20, 2026
a8f887e
usb: gadget: f_rndis: Protect RNDIS options with mutex
Mar 20, 2026
f18bef1
usb: gadget: f_uac1_legacy: validate control request size
Apr 1, 2026
0b97124
wifi: virt_wifi: remove SET_NETDEV_DEV to avoid use-after-free
a13xp0p0v Mar 24, 2026
92f7d1f
iio: imu: inv_icm42600: fix odr switch when turning buffer off
jmaneyrol-invn Mar 17, 2026
8335144
net: macb: Move devm_{free,request}_irq() out of spin lock area
haokexin Mar 31, 2026
af498e1
net: correctly handle tunneled traffic on IPV6_CSUM GSO fallback
wdebruij Mar 31, 2026
f5d4a5d
net: mana: fix use-after-free in add_adev() error path
lgs2513 Mar 31, 2026
dcd429a
scsi: target: tcm_loop: Drain commands in target_reset handler
josefbacik Mar 31, 2026
3f8d220
mm/huge_memory: fix folio isn't locked in softleaf_to_folio()
tujinjiang11 Mar 31, 2026
dda51b6
x86/cpu: Enable FSGSBASE early in cpu_init_exception_handling()
nikunjad Mar 31, 2026
095dc01
dmaengine: fsl-edma: change to guard(mutex) within fsl_edma3_xlate()
1991Joyzou Mar 31, 2026
465e7b5
dmaengine: fsl-edma: fix channel parameter config for fixed channel r…
1991Joyzou Mar 31, 2026
20bc8a3
ext4: publish jinode after initialization
FirstLoveLife Apr 2, 2026
da84b30
ext4: handle wraparound when searching for blocks for indirect mapped…
tytso Apr 3, 2026
ba3d633
MPTCP: fix lock class name family in pm_nl_create_listen_socket
Apr 2, 2026
854b401
net: sfp: Fix Ubiquiti U-Fiber Instant SFP module on mvneta
elkablo Apr 7, 2026
0b5df7e
Linux 6.6.134
gregkh Apr 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ properties:
type: boolean

dependencies:
pd-disable: [typec-power-opmode]
sink-vdos-v1: [ sink-vdos ]
sink-vdos: [ sink-vdos-v1 ]

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 133
SUBLEVEL = 134
EXTRAVERSION =
NAME = Pinguïn Aangedreven

Expand Down
36 changes: 36 additions & 0 deletions arch/loongarch/include/asm/linkage.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,40 @@
.cfi_endproc; \
SYM_END(name, SYM_T_NONE)

/*
* This is for the signal handler trampoline, which is used as the return
* address of the signal handlers in userspace instead of called normally.
* The long standing libgcc bug https://gcc.gnu.org/PR124050 requires a
* nop between .cfi_startproc and the actual address of the trampoline, so
* we cannot simply use SYM_FUNC_START.
*
* This wrapper also contains all the .cfi_* directives for recovering
* the content of the GPRs and the "return address" (where the rt_sigreturn
* syscall will jump to), assuming there is a struct rt_sigframe (where
* a struct sigcontext containing those information we need to recover) at
* $sp. The "DWARF for the LoongArch(TM) Architecture" manual states
* column 0 is for $zero, but it does not make too much sense to
* save/restore the hardware zero register. Repurpose this column here
* for the return address (here it's not the content of $ra we cannot use
* the default column 3).
*/
#define SYM_SIGFUNC_START(name) \
.cfi_startproc; \
.cfi_signal_frame; \
.cfi_def_cfa 3, RT_SIGFRAME_SC; \
.cfi_return_column 0; \
.cfi_offset 0, SC_PC; \
\
.irp num, 1, 2, 3, 4, 5, 6, 7, 8, \
9, 10, 11, 12, 13, 14, 15, 16, \
17, 18, 19, 20, 21, 22, 23, 24, \
25, 26, 27, 28, 29, 30, 31; \
.cfi_offset \num, SC_REGS + \num * SZREG; \
.endr; \
\
nop; \
SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)

#define SYM_SIGFUNC_END(name) SYM_FUNC_END(name)

#endif
9 changes: 9 additions & 0 deletions arch/loongarch/include/asm/sigframe.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0+ */

#include <asm/siginfo.h>
#include <asm/ucontext.h>

Comment on lines +1 to +5
Copy link

Copilot AI Apr 14, 2026

Choose a reason for hiding this comment

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

New header arch/loongarch/include/asm/sigframe.h has no include guard, so including it more than once in the same compilation unit can cause a redefinition of struct rt_sigframe. Please add a conventional #ifndef/#define/#endif guard (or otherwise ensure it cannot be included twice).

Copilot uses AI. Check for mistakes.
struct rt_sigframe {
struct siginfo rs_info;
struct ucontext rs_uctx;
};
2 changes: 2 additions & 0 deletions arch/loongarch/kernel/asm-offsets.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <asm/ptrace.h>
#include <asm/processor.h>
#include <asm/ftrace.h>
#include <asm/sigframe.h>

void output_ptreg_defines(void)
{
Expand Down Expand Up @@ -219,6 +220,7 @@ void output_sc_defines(void)
COMMENT("Linux sigcontext offsets.");
OFFSET(SC_REGS, sigcontext, sc_regs);
OFFSET(SC_PC, sigcontext, sc_pc);
OFFSET(RT_SIGFRAME_SC, rt_sigframe, rs_uctx.uc_mcontext);
BLANK();
}

Expand Down
6 changes: 1 addition & 5 deletions arch/loongarch/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <asm/cpu-features.h>
#include <asm/fpu.h>
#include <asm/lbt.h>
#include <asm/sigframe.h>
#include <asm/ucontext.h>
#include <asm/vdso.h>

Expand All @@ -50,11 +51,6 @@
#define lock_lbt_owner() ({ preempt_disable(); pagefault_disable(); })
#define unlock_lbt_owner() ({ pagefault_enable(); preempt_enable(); })

struct rt_sigframe {
struct siginfo rs_info;
struct ucontext rs_uctx;
};

struct _ctx_layout {
struct sctx_info *addr;
unsigned int size;
Expand Down
4 changes: 2 additions & 2 deletions arch/loongarch/vdso/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ cflags-vdso := $(ccflags-vdso) \
$(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \
-std=gnu11 -fms-extensions -O2 -g -fno-strict-aliasing -fno-common -fno-builtin \
-fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
$(call cc-option, -fno-asynchronous-unwind-tables) \
$(call cc-option, -fasynchronous-unwind-tables) \
$(call cc-option, -fno-stack-protector)
aflags-vdso := $(ccflags-vdso) \
-D__ASSEMBLY__ -Wa,-gdwarf-2
Expand All @@ -37,7 +37,7 @@ endif
# VDSO linker flags.
ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \
$(filter -E%,$(KBUILD_CFLAGS)) -nostdlib -shared \
--hash-style=sysv --build-id -T
--hash-style=sysv --build-id --eh-frame-hdr -T

GCOV_PROFILE := n

Expand Down
6 changes: 3 additions & 3 deletions arch/loongarch/vdso/sigreturn.S
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@

#include <asm/regdef.h>
#include <asm/asm.h>
#include <asm/asm-offsets.h>

.section .text
.cfi_sections .debug_frame

SYM_FUNC_START(__vdso_rt_sigreturn)
SYM_SIGFUNC_START(__vdso_rt_sigreturn)

li.w a7, __NR_rt_sigreturn
syscall 0

SYM_FUNC_END(__vdso_rt_sigreturn)
SYM_SIGFUNC_END(__vdso_rt_sigreturn)
18 changes: 12 additions & 6 deletions arch/x86/kernel/cpu/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -2085,12 +2085,6 @@ static void identify_cpu(struct cpuinfo_x86 *c)
setup_smap(c);
setup_umip(c);

/* Enable FSGSBASE instructions if available. */
if (cpu_has(c, X86_FEATURE_FSGSBASE)) {
cr4_set_bits(X86_CR4_FSGSBASE);
elf_hwcap2 |= HWCAP2_FSGSBASE;
}

/*
* The vendor-specific functions might have changed features.
* Now we do "generic changes."
Expand Down Expand Up @@ -2422,6 +2416,18 @@ void cpu_init_exception_handling(void)
/* GHCB needs to be setup to handle #VC. */
setup_ghcb();

/*
* On CPUs with FSGSBASE support, paranoid_entry() uses
* ALTERNATIVE-patched RDGSBASE/WRGSBASE instructions. Secondary CPUs
* boot after alternatives are patched globally, so early exceptions
* execute patched code that depends on FSGSBASE. Enable the feature
* before any exceptions occur.
*/
if (cpu_feature_enabled(X86_FEATURE_FSGSBASE)) {
cr4_set_bits(X86_CR4_FSGSBASE);
elf_hwcap2 |= HWCAP2_FSGSBASE;
}

/* Finally load the IDT */
load_current_idt();
}
Expand Down
8 changes: 8 additions & 0 deletions drivers/comedi/drivers.c
Original file line number Diff line number Diff line change
Expand Up @@ -1000,6 +1000,14 @@ int comedi_device_attach(struct comedi_device *dev, struct comedi_devconfig *it)
ret = -EIO;
goto out;
}
if (IS_ENABLED(CONFIG_LOCKDEP)) {
/*
* dev->spinlock is for private use by the attached low-level
* driver. Reinitialize it to stop lock-dependency tracking
* between attachments to different low-level drivers.
*/
spin_lock_init(&dev->spinlock);
}
dev->driver = driv;
dev->board_name = dev->board_ptr ? *(const char **)dev->board_ptr
: dev->driver->driver_name;
Expand Down
12 changes: 12 additions & 0 deletions drivers/comedi/drivers/dt2815.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,18 @@ static int dt2815_attach(struct comedi_device *dev, struct comedi_devconfig *it)
? current_range_type : voltage_range_type;
}

/*
* Check if hardware is present before attempting any I/O operations.
* Reading 0xff from status register typically indicates no hardware
* on the bus (floating bus reads as all 1s).
*/
if (inb(dev->iobase + DT2815_STATUS) == 0xff) {
dev_err(dev->class_dev,
"No hardware detected at I/O base 0x%lx\n",
dev->iobase);
return -ENODEV;
}

/* Init the 2815 */
outb(0x00, dev->iobase + DT2815_STATUS);
for (i = 0; i < 100; i++) {
Expand Down
16 changes: 12 additions & 4 deletions drivers/comedi/drivers/me4000.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,18 @@ static int me4000_xilinx_download(struct comedi_device *dev,
unsigned int val;
unsigned int i;

/* Get data stream length from header. */
if (size >= 4) {
file_length = (((unsigned int)data[0] & 0xff) << 24) +
(((unsigned int)data[1] & 0xff) << 16) +
(((unsigned int)data[2] & 0xff) << 8) +
((unsigned int)data[3] & 0xff);
}
if (size < 16 || file_length > size - 16) {
dev_err(dev->class_dev, "Firmware length inconsistency\n");
return -EINVAL;
}

if (!xilinx_iobase)
return -ENODEV;

Expand Down Expand Up @@ -346,10 +358,6 @@ static int me4000_xilinx_download(struct comedi_device *dev,
outl(val, devpriv->plx_regbase + PLX9052_CNTRL);

/* Download Xilinx firmware */
file_length = (((unsigned int)data[0] & 0xff) << 24) +
(((unsigned int)data[1] & 0xff) << 16) +
(((unsigned int)data[2] & 0xff) << 8) +
((unsigned int)data[3] & 0xff);
usleep_range(10, 1000);

for (i = 0; i < file_length; i++) {
Expand Down
35 changes: 19 additions & 16 deletions drivers/comedi/drivers/me_daq.c
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,25 @@ static int me2600_xilinx_download(struct comedi_device *dev,
unsigned int file_length;
unsigned int i;

/*
* Format of the firmware
* Build longs from the byte-wise coded header
* Byte 1-3: length of the array
* Byte 4-7: version
* Byte 8-11: date
* Byte 12-15: reserved
*/
if (size >= 4) {
file_length = (((unsigned int)data[0] & 0xff) << 24) +
(((unsigned int)data[1] & 0xff) << 16) +
(((unsigned int)data[2] & 0xff) << 8) +
((unsigned int)data[3] & 0xff);
}
if (size < 16 || file_length > size - 16) {
dev_err(dev->class_dev, "Firmware length inconsistency\n");
return -EINVAL;
}

/* disable irq's on PLX */
writel(0x00, devpriv->plx_regbase + PLX9052_INTCSR);

Expand All @@ -357,22 +376,6 @@ static int me2600_xilinx_download(struct comedi_device *dev,
writeb(0x00, dev->mmio + 0x0);
sleep(1);

/*
* Format of the firmware
* Build longs from the byte-wise coded header
* Byte 1-3: length of the array
* Byte 4-7: version
* Byte 8-11: date
* Byte 12-15: reserved
*/
if (size < 16)
return -EINVAL;

file_length = (((unsigned int)data[0] & 0xff) << 24) +
(((unsigned int)data[1] & 0xff) << 16) +
(((unsigned int)data[2] & 0xff) << 8) +
((unsigned int)data[3] & 0xff);

/*
* Loop for writing firmware byte by byte to xilinx
* Firmware data start at offset 16
Expand Down
3 changes: 2 additions & 1 deletion drivers/comedi/drivers/ni_atmio16d.c
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,8 @@ static int atmio16d_attach(struct comedi_device *dev,

static void atmio16d_detach(struct comedi_device *dev)
{
reset_atmio16d(dev);
if (dev->private)
reset_atmio16d(dev);
comedi_legacy_detach(dev);
}

Expand Down
Loading
Loading