Re: [PATCH 07/25] r/o bind mounts: elevate write count for someioctls

From: Andrew Morton
Date: Fri Sep 21 2007 - 04:18:00 EST


On Thu, 20 Sep 2007 12:52:57 -0700 Dave Hansen <haveblue@xxxxxxxxxx> wrote:

> + ret = mnt_want_write(filp->f_vfsmnt);

It still creeps me out that we have this sprinkled *all over* the tree and
people will forget to do it and there's no runtime or compile-time checking
that they remembered to do it and when they forget to do it nobody will
notice that it broke until ages and ages later.

IOW: it is a sheer horror for maintainability.


Please have a think about what we can do about this. For example, if you'd
thought about this up-front, (and I think it's a big problem), we could
have done something grotty like, in mnt_want_write():

current->vfsmnt_im_allowed_to_write_to = inode;

and then check that current->vfsmnt_im_allowed_to_write_to is the correct
inode in __mark_inode_dirty() and various other strategic places. That
sort of thing.


We need to do *something*, I think. This code just doesn't look feasibly
maintainable to me.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/