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
| ||
|
Date: Thu, 29 Sep 2022 15:39:57 +0800 From: zhanchengbin <zhanchengbin1@...wei.com> To: Theodore Ts'o <tytso@....edu> CC: <linux-ext4@...r.kernel.org>, <liuzhiqiang26@...wei.com>, linfeilong <linfeilong@...wei.com> Subject: [bug report] misc/fsck.c: Processes may kill other processes. Hi Tytso, I find a error in misc/fsck.c, if run the fsck -N command, processes don't execute, just show what would be done. However, the pid whose value is -1 is added to the instance_list list in the execute function,if the kill_all function is called later, kill(-1, signum) is executed, Signals are sent to all processes except the number one process and itself. Other processes will be killed if they use the default signal processing function. execute: if (noexecute) pid = -1; inst->pid = pid; // Find the end of the list, so we add the instance on at the end. kill_all: for (inst = instance_list; inst; inst = inst->next) { kill(inst->pid, signum); } misc/fsck.c: main: ->PRS case 'N': noexecute++; for (num_devices) { if (cancel_requested) { ->kill_all(SIGTERM); } ->fsck_device ->execute } (gdb) bt #0 execute (type=<optimized out>, type@...ry=0x412cd0 "ext4", device=0x412b00 "/root/a.img", mntpt=<optimized out>, interactive=interactive@...ry=1) at fsck.c:523 #1 0x0000000000404959 in fsck_device (fs=fs@...ry=0x412ac0, interactive=interactive@...ry=1) at fsck.c:727 #2 0x0000000000402704 in main (argc=<optimized out>, argv=<optimized out>) at fsck.c:1333 (gdb) p inst->pid $7 = -1 regards, Zhan Chengbin
Powered by blists - more mailing lists