On Thu, Sep 13, 2012 at 5:08 PM, stl <st.lambert02@gmail.com> wrote:
Hello all, I am facing a problem when trying to boot linux 2.6.37 on a new architecture.
At the end of the boot, it tries to launch /init by executing a sys_execve()
Here is the what it does:
sys_execve() |-> do_execve() |-> prepare_binprm() |->security_bprm_set_creds() |->cap_bprm_set_creds() |->get_file_caps() |->get_vfs_caps_from_disk()
In the get_vfs_caps_from_disk(), these is a verification to know if inode->i_op->getxattr has been initialized.
In my case, it returns and error value, because this field is not initialized.
So I am wondering by who and where this field is initialized? And what is the aim of getxattr?
it is called extended attributes for filesystem: http://lwn.net/2000/1026/a/extended-attributes.php3 http://lwn.net/Articles/12060/ http://lwn.net/Articles/12061/ (there is a detail explanation in above link as I copied it here): +/* + * Extended attributes are stored on disk blocks allocated outside of + * any inode. The i_file_acl field is then made to point to this allocated + * block. If all extended attributes of an inode are identical, these + * inodes may share the same extended attribute block. Such situations + * are automatically detected by keeping a cache of recent attribute block + * numbers and hashes over the block's contents in memory. + * + * and for security modules: http://lwn.net/Articles/28223/
Thanks in advance!
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Regards, Peter Teoh