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: Sat, 28 Aug 2010 04:57:07 -0600 From: Matthew Wilcox <matthew@....cx> To: Bob Copeland <me@...copeland.com> Cc: Valerie Aurora <vaurora@...hat.com>, Alexander Viro <viro@...iv.linux.org.uk>, Karel Zak <kzak@...hat.com>, linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH] VFS: Sanity check mount flags passed to change_mnt_propagation() On Fri, Aug 27, 2010 at 01:51:06PM -0400, Bob Copeland wrote: > On Fri, Aug 27, 2010 at 1:43 PM, Valerie Aurora <vaurora@...hat.com> wrote: > > On Thu, Aug 26, 2010 at 07:14:36PM -0600, Matthew Wilcox wrote: > >> Hrm. ?I think we can do this a bit more pithily. > >> > >> ? ? ? /* Only one propagation flag should be set, and no others */ > >> ? ? ? if (hweight32(type) != 1 && > >> ? ? ? ? ? (type & ~(MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE)) > >> ? ? ? ? ? ? ? return 0; > >> > >> Too clever? > > > > I was hoping someone would go find the best bitop for me, thanks. :) > > hweight32() is an awkward name but the comment makes it clear. ?I'm > > happy with either. > > > > Thanks for the help, > > Didn't read surrounding code, but is that supposed to be '||'? > > Otherwise the case where only a single non-propagation flag is > set no longer returns 0... Val's original code returned 0 as failure. So a single non-propagation flag set shouldn't return 0. -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- 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