getxattr field not initialized when trying to execute /init during boot
Peter Teoh
htmldeveloper at gmail.com
Wed Sep 26 11:57:40 EDT 2012
On Thu, Sep 13, 2012 at 5:08 PM, stl <st.lambert02 at 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 at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
--
Regards,
Peter Teoh
More information about the Kernelnewbies
mailing list