From: Herbert Poetzl (herbert_at_13thfloor.at)
Date: Sun 15 Aug 2004 - 22:52:43 BST
On Fri, Aug 13, 2004 at 04:21:14PM +0200, Luc Dumaine wrote:
> Just to say explicitely what was implicited by the last message: the
> patched kernel doesn't exhibit the bug.
thanks, yeah, you are right, the actual issue
is a wrongly placed parenthesis, it should be
(
(oldflags & REISERFS_IMMUTABLE_FL) ||
((flags ^ oldflags) & (REISERFS_*_FL | ... ))
)
&& !capable(CAP_LINUX_IMMUTABLE)
which means, if either REISERFS_IMMUTABLE_FL is
set, or any of the REISERFS_*_FL are going to be
changed, you need to have CAP_LINUX_IMMUTABLE ...
thanks for spotting this,
Herbert
> More that a problem of logic I think that this could be a problem with
> operators prority: it would have worked if "||" had a higher priority
> than "&&".
>
> Regards.
> _______________________________________________
> Vserver mailing list
> Vserver_at_list.linux-vserver.org
> http://list.linux-vserver.org/mailman/listinfo/vserver
_______________________________________________
Vserver mailing list
Vserver_at_list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver