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, 27 Feb 2014 12:58:07 -0800 From: Andrew Morton <akpm@...ux-foundation.org> To: NeilBrown <neilb@...e.de> Cc: Alexander Viro <viro@...iv.linux.org.uk>, linux-fsdevel@...r.kernel.org, linux RAID <linux-raid@...r.kernel.org>, "majianpeng" <majianpeng@...il.com>, lkml <linux-kernel@...r.kernel.org> Subject: Re: [PATCH] md / procfs: avoid Oops if md-mod removed while /proc/mdstat is being polled. On Thu, 27 Feb 2014 17:24:45 +1100 NeilBrown <neilb@...e.de> wrote: > If poll or select is waiting on /proc/mdstat when md-mod is unloaded > an oops will ensure when the poll/select completes. > > This is because the wait_queue_head which is registered with poll_wait() > is local to the module and no longer exists when the poll completes and > detaches that wait_queue_head (in poll_free_wait -> remove_wait_queue). > > To fix this we need the wait_queue_head to have (at least) the same life > time as the proc_dir_entry. So this patch places it in that structure. > > We: > - add pde_poll_wait to struct proc_dir_entry > - call poll_wait() passing this when poll() is called on the proc file > - export a function proc_wake_up which will call wake_up() on pde_poll_wait > > and make use of all that in md.c This sounds wrong. If a userspace process is waiting on md_event_waiters then the md module is "busy" and the rmmod attempt should fail? -- 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/
Powered by blists - more mailing lists