Re: openvz на LiveCD -- что-то с правами MS_NOUSER [message #10680 is a reply to message #10607] |
Mon, 26 February 2007 13:06   |
Vasily Tarasov
Messages: 1345 Registered: January 2006
|
Senior Member |
|
|
Здравствуйте, Сергей,
Если я правильно понимаю, вы подпатчили OpenVZ ядро, чтобы оно поддерживало unionfs. А код внутри unionfs не делает проверку на возврат функции __d_path(.), в результате, когда выполняется условие !(oldvfsmnt->mnt_sb->s_flags & MS_NOUSER) происходит Oops.
Я вас правильно понял?
Если да, то вам, во-первых, стоит сообщить разработчикам unionfs об этой досадной ошибке =) Они должны проверять возврат этой функции.
Во-вторых, что касается проверки:
oldvfsmnt->mnt_sb->s_flags & MS_NOUSER
там есть такой коммент:
+ * We traversed the tree upward and reached a root, but the given
+ * lookup terminal point wasn't encountered. It means either that the
+ * dentry is out of our scope or belongs to an abstract space like
+ * sock_mnt or pipe_mnt. Check for it.
+ *
+ * There are different options to check it.
+ * We may assume that any dentry tree is unreachable unless it's
+ * connected to `root' (defined as fs root of init aka child reaper)
+ * and expose all paths that are not connected to it.
+ * The other option is to allow exposing of known abstract spaces
+ * explicitly and hide the path information for other cases.
+ * This approach is more safe, let's take it. 2001/04/22 SAW
+ */
Т.е. из VE разрешены быть видимыми только ФС:
1) примонтированные в VE
2) те, у которых ноги растут не из VE и при этом они "особые" (ramfs, shmemfs, ramfs, libfs...)
[Updated on: Mon, 26 February 2007 13:07] Report message to a moderator
|
|
|