On Mon, 2007-08-06 at 21:37 +0200, Miklos Szeredi wrote:
quoted
quoted
Your patch is changing the API in a very unsafe way, since there will
be no error or warning on an unconverted fs. And that could lead to
security holes.
If we would rename the setattr method to setattr_new as well as
changing it's behavior, that would be fine. But I guess we do not
want to do that.
Which "unconverted fses"? If we're talking out of tree stuff, then too
bad: it is _their_ responsibility to keep up with kernel changes.
It is usually a good idea to not change the semantics of an API in a
backward incompatible way without changing the syntax as well.
We're taking two setattr flags ATTR_KILL_SGID, and ATTR_KILL_SUID which
have existed for several years in the VFS, and making them visible to
the filesystems. Out-of-tree filesystems that care can check for them in
a completely backward compatible way: you don't even need to add a
#define.
This is true regardless of whether we care about out-of-tree code or
not (and we should care to some degree). And especially true if the
change in question is security sensitive.
It is not true "regardless": the in-tree code is being converted.
Out-of-tree code is the only "problem" here, and their only problem is
that they may have to add support for the new flags if they also support
suid/sgid mode bits.
Are you advocating reserving a new filesystem bit every time we need to
add an attribute flag?
Trond