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>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251106023032.25875-1-feng.tang@linux.alibaba.com>
Date: Thu,  6 Nov 2025 10:30:29 +0800
From: Feng Tang <feng.tang@...ux.alibaba.com>
To: Andrew Morton <akpm@...ux-foundation.org>,
	Petr Mladek <pmladek@...e.com>,
	Lance Yang <ioworker0@...il.com>,
	paulmck@...nel.org,
	Steven Rostedt <rostedt@...dmis.org>,
	linux-kernel@...r.kernel.org
Cc: Feng Tang <feng.tang@...ux.alibaba.com>
Subject: [PATCH 0/3] Enable hung_task and lockup cases to dump system info on demand  

When working on kernel stability issues: panic, task-hung and soft/hard
lockup are frequently met. And to debug them, user may need lots of
system information at that time, like task call stacks, lock info,
memory info, ftrace dump, etc. 

panic case already uses sys_info()  for this purpose, and has a
'panic_sys_info' sysctl(also support cmdline setup) interface to take
human readable string like "tasks,mem,timers,locks,ftrace,..."  to
control what kinds of information is needed. Which is also helpful
to debug task-hung and lockup cases.

So this patchset introduce the similar sys_info sysctl interface for
task-hung and lockup cases.

Please be noted, this is mainly for debugging and the info dumping
could be intrusive, like dumping call stack for all tasks when system
has huge number of tasks, similarly for ftrace dump (we may add
tracing_stop() and tracing_start() around it)

Locally these have been used in our bug chasing for stablility issues
and was helpful.

Andrew suggested a global sys_info knob, and one thought for this is 
to have something in sys_info.c:

	unsigned long gloabl_si_mask;

	void sys_info(unsigned long si_mask)
	{
		if (!si_mask)
			__sys_info(gloabl_si_mask);
		else
			__sys_info(si_mask);
	}

to let caller decide whether to use its own option or the gloabl one.

Please help to review, thanks!

Feng Tang (3):
  docs: panic: correct some sys_ifo names in sysctl doc
  hung_task: Add hung_task_sys_info sysctl to dump sys info on task-hung
  watchdog: add lockup_sys_info sysctl to dump sys info on system lockup

 Documentation/admin-guide/sysctl/kernel.rst | 14 ++++++--
 kernel/hung_task.c                          | 39 +++++++++++++++------
 kernel/watchdog.c                           | 21 ++++++++++-
 3 files changed, 60 insertions(+), 14 deletions(-)

-- 
2.43.5


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ