lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <6cc90adc-17e6-417e-8b9c-3a1f7f3d4fcd@linux.microsoft.com>
Date: Mon, 29 Dec 2025 18:54:24 +0530
From: Naman Jain <namjain@...ux.microsoft.com>
To: linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org
Cc: Russell King <linux@...linux.org.uk>,
 Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
 Jiri Slaby <jirislaby@...nel.org>,
 "Thomas Gleixner, Ingo Molnar" <mingo@...nel.org>,
 Nam Cao <namcao@...utronix.de>, Miaoqian Lin <linmq006@...il.com>,
 Toshiyuki Sato <fj6611ie@...jp.fujitsu.com>,
 Prasanna Kumar T S M <ptsm@...ux.microsoft.com>,
 Saurabh Singh Sengar <ssengar@...ux.microsoft.com>,
 Naman Jain <namjain@...ux.microsoft.com>
Subject: Need inputs on hard lockups with "cat large_file.txt" use-case on 6.6
 kernel

Hi,
I am debugging a hard-lockup issue which is seen when I do "cat" of a 
large text file (~3 MB or more) on my arm64 machine, which is based on 
6.6.116 kernel version and is using pl011 driver for UART.

I came across NBCON framework which tries to deal with such problems, 
but it is available on later kernels, and it would not be easy for me to 
do kernel upgrade at this moment.

I wanted to reach out here for any inputs that would help me debug this 
issue further - whether such lockups are expected, any kernel parameter, 
or patch that could fix this, etc.

Thanks in advance.

More details below:


I tried below experiments, but nothing worked:
* changing interrupt affinity of UART irq to other CPUs or group of 
CPUs, since all the UART interrupts were landing on CPU0.
* finding kernel cmdline parameters that can be tweaked - didn't seem to 
be related to "cat largefile" usecase, but for controlling general 
logging from drivers.
* Adding touch_nmi_watchdog(), cpu_relax() in different paths in the driver.
* adding handle_sysrq('l') in hardlockup handler to get CPU call stacks, 
or enable hardlockup_all_cpu_backtrace, but did not get call stacks of 
stuck CPUs.


Kernel cmdline:

console=ttyAMA0 earlycon=pl011,mmio32,0xFF000000,115200n8 reboot=w 
ima_hash=sha384 systemd.show_status=false ovlboot.bootdevice=E-MMC 
root=/dev/ram rw sysctl.kernel.printk_ratelimit=30 
sysctl.kernel.printk_ratelimit_burst=75 ima_policy=critical_data 
rcupdate.rcu_expedited=1 systemd.gpt_auto=no systemd.ssh_auto=no fips=1 
SYSTEMD_DEFAULT_MOUNT_RATE_LIMIT_BURST=100 systemd.log_ratelimit_kmsg=0 
crashkernel=512M


root@...alhost:~# cat /proc/sys/kernel/printk
2       1       1       2


DT:
        serial0: serial@...20000 {
                 bootph-all;
                 compatible = "arm,pl011", "arm,primecell";
                 status = "disabled";   -> enabled later in board
                 reg = <0 0xf1920000 0 0x1000>;
                 interrupts = <0 25 4>;
                 reg-io-width = <4>;
                 clock-names = "uartclk", "apb_pclk";
                 current-speed = <115200>;
         };

Regards,
Naman


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ