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
> [EMAIL PROTECTED]
> http://list.linux-vserver.org/mailman/listinfo/vserver
_______________________________________________
Vserver mailing list
[EMAIL PROTECTED]
http://list.linux-vserver.org/mailman/listinfo/vserver

Reply via email to