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: <20151007115404.GA20428@redhat.com> Date: Wed, 7 Oct 2015 13:54:04 +0200 From: Oleg Nesterov <oleg@...hat.com> To: David Howells <dhowells@...hat.com> Cc: Andrew Morton <akpm@...ux-foundation.org>, linux-kernel@...r.kernel.org Subject: Re: [PATCH] change current_is_single_threaded() to use for_each_thread() On 10/07, David Howells wrote: > > Oleg Nesterov <oleg@...hat.com> wrote: > > > Change current_is_single_threaded() to use for_each_thread() rather > > than deprecated while_each_thread(). > > Wouldn't the old way be more efficient, given there's always going to be at > least one thread? Yes, unfortunately. Before this change (in the likely case) we never do next_thread(), after this patch we always do list_first_entry(). > Granted, it's not much of an efficiency boost... Yes, and while_each_thread() is buggy. See the changelog in 0c740d0afc "introduce for_each_thread() to replace the buggy while_each_thread(). Yes, the race is almost purely theoretical, but still. To clarify, we had some "real" bugs fixed by s/while_each_thread/ for_each_thread/, but only because while_each_thread() was used wrongly. for_each_thread() is more safe, it only needs the stable task_struct. Oleg. -- 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