Hi On Thu, Oct 8, 2015 at 1:31 PM, Sergei Zviagintsev <ser...@s15v.net> wrote: > '(s & m) != m' means that mask 'm' contains some bits which are not set > in 's', and this is literally equal to '~s & m'.
Sure, but you make the code look much less obvious. Checking a bit is set is "a & b", checking if not set is "!(a & b)". If you check whether a whole mask is set, you run "(a & m) == m", checking whether it not set should be the negation, which is "(a & m) != m". I'd prefer keeping the current code, unless the compiler cannot figure it out on its own. David > Signed-off-by: Sergei Zviagintsev <ser...@s15v.net> > --- > ipc/kdbus/message.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/ipc/kdbus/message.c b/ipc/kdbus/message.c > index ae565cd343f8..c7ef23d40471 100644 > --- a/ipc/kdbus/message.c > +++ b/ipc/kdbus/message.c > @@ -273,7 +273,7 @@ static struct file *kdbus_get_memfd(const struct > kdbus_memfd *memfd) > s = shmem_get_seals(f); > if (s < 0) > ret = ERR_PTR(-EMEDIUMTYPE); > - else if ((s & m) != m) > + else if (~s & m) > ret = ERR_PTR(-ETXTBSY); > else if (memfd->start + memfd->size > (u64)i_size_read(file_inode(f))) > ret = ERR_PTR(-EFAULT); > -- > 1.8.3.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/