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
| ||
|
Message-ID: <FC88FED2F4C8574C9318C4D6CDA2BFA8BCEB03@CORPUSMX90A.corp.emc.com> Date: Wed, 26 Aug 2009 08:34:44 -0400 From: <Timofeev_Alexander@....com> To: <linux-kernel@...r.kernel.org> Subject: SoftDog: reboot message missed Hi All, I use 2.6.16.60 kernel. It's been compiled with CONFIG_WATCHDOG_NOWAYOUT <http://lxr.linux.no/linux-bk+*/+code=CONFIG_WATCHDOG_NOWAYOUT> =false. It reboots system silently. The reboot message does not appear in /var/log/messages. Syslog-ng config is correct. I looked through the watchdog.c and found: 93 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L93> static void watchdog_fire <http://lxr.linux.no/linux-bk+*/+code=watchdog_fire> (unsigned long data <http://lxr.linux.no/linux-bk+*/+code=data> ) 94 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L94> { 95 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L95> if (soft_noboot <http://lxr.linux.no/linux-bk+*/+code=soft_noboot> ) 96 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L96> printk <http://lxr.linux.no/linux-bk+*/+code=printk> (KERN_CRIT <http://lxr.linux.no/linux-bk+*/+code=KERN_CRIT> PFX <http://lxr.linux.no/linux-bk+*/+code=PFX> "Triggered - Reboot ignored.\n"); 97 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L97> else 98 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L98> { 99 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L99> printk <http://lxr.linux.no/linux-bk+*/+code=printk> (KERN_CRIT <http://lxr.linux.no/linux-bk+*/+code=KERN_CRIT> PFX <http://lxr.linux.no/linux-bk+*/+code=PFX> "Initiating system reboot.\n"); 100 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L100> machine_restart <http://lxr.linux.no/linux-bk+*/+code=machine_restart> (NULL <http://lxr.linux.no/linux-bk+*/+code=NULL> ); 101 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L101> printk <http://lxr.linux.no/linux-bk+*/+code=printk> (KERN_CRIT <http://lxr.linux.no/linux-bk+*/+code=KERN_CRIT> PFX <http://lxr.linux.no/linux-bk+*/+code=PFX> "Reboot didn't ?????\n"); 102 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L102> } 103 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L103> } I suspect that system might be halted before printk buffer gets flushed. Does anybody encounter such a behavior? Is there a workaround? In fact I only need to know if the last reboot was caused by the timer. Unfortunately the WDIOC_GETBOOTSTATUS <http://lxr.linux.no/linux-bk+*/+code=WDIOC_GETBOOTSTATUS> ioctl is not implemented ( according to the watchdog.c:softdog_ioctl <http://lxr.linux.no/linux-bk+*/+code=softdog_ioctl> ). 210 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L210> case WDIOC_GETBOOTSTATUS <http://lxr.linux.no/linux-bk+*/+code=WDIOC_GETBOOTSTATUS> : 211 <http://lxr.linux.no/linux-bk+*/drivers/char/watchdog/softdog.c#L211> return put_user <http://lxr.linux.no/linux-bk+*/+code=put_user> (0, p <http://lxr.linux.no/linux-bk+*/+code=p> ); TIA Alex T. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/