Thread (3 messages) 3 messages, 3 authors, 2012-03-19

Re: [PATCH]: md: Initialize ctl_name field of table raid_root_table/raid_dir_table to avoid dump_trace info in debug kernel

From: Eric W. Biederman <hidden>
Date: 2012-03-14 02:10:46
Also in: lkml

NeilBrown [off-list ref] writes:
quoted hunk
On Mon, 12 Mar 2012 11:58:53 +0800 qing gu [off-list ref] wrote:
quoted
This patch is used to dispense trace info when system boots with debug 
kernel. I have verified it on RHEL6.2 & SLES11.2. Both work fine.
In the failure case, system logs that:

    /Feb 21 19:33:55 nsgbj-216-137 kernel: sysctl_check_dir: failed: /dev  ref: /dev .7
    Feb 21 19:33:55 nsgbj-216-137 kernel: sysctl table check failed: /dev  Inconsistent directory names
    Feb 21 19:33:55 nsgbj-216-137 kernel: Pid: 1, comm: swapper Not tainted 2.6.32-220.el6.x86_64.debug #1
    Feb 21 19:33:55 nsgbj-216-137 kernel: Call Trace:
    Feb 21 19:33:55 nsgbj-216-137 kernel: [<ffffffff810a2029>] ? set_fail+0x59/0x60
    Feb 21 19:33:55 nsgbj-216-137 kernel: [<ffffffff810a23d4>] ? sysctl_check_table+0x3a4/0x680
    ...
    /

As you can see, system failed with mismatch
/sysctl_check_dir: failed: /dev ref: /dev .7/

Signed-off-by: Neil Gu <redacted>

-----------------------------------------------------------
(please put patches inline in your email - it makes them easier to reply to)


 scripts/kconfig/Makefile |   16 ++++++++++++++++
  1 file changed, 16 insertions(+)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index ce88755..9630ad3 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -129,6 +129,7 @@ static ctl_table raid_table[] = {
 
 static ctl_table raid_dir_table[] = {
 	{
+		.ctl_name	= DEV_RAID,
 		.procname	= "raid",
 		.maxlen		= 0,
 		.mode		= S_IRUGO|S_IXUGO,
@@ -139,6 +140,7 @@ static ctl_table raid_dir_table[] = {
 
 static ctl_table raid_root_table[] = {
 	{
+		.ctl_name	= CTL_DEV,
 		.procname	= "dev",
 		.maxlen		= 0,
 		.mode		= 0555,
These lines were removed in November 2009 by Eric Biederman in
commit 894d2491153a9f8270dbed21175d06fde4eba6c7

So I'm not keen on adding them back without understanding the history.

Eric:  Do we need these after all?
For the main trunk no.  The .ctl_name field no longer exists.

kernel/binary_sysctl.c is used to provide backwards compatibility with
the old binary names.

There might be a point for doing something in -stable or someone's
enterprise kernel if some messed up set of backports were merged.

Eric
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help