Hi, Among your includes, add #include <linux/namei.h> as struct nameidata is defined in linux/include/linux/namei.h -serge Quoting Javier Valencia (jvalencia@private): > Hi all, i'm trying to use a very simple function to print when inode_permission is called: > > line_number code > -------------------------------------------- > > 53 static int smac_inode_permission (struct inode *inode, int mask, struct nameidata *nd) > 54 { > 55 if (nd) > 56 { > 57 if (nd->dentry) > 58 printk(KERN_INFO "inode_permission on: %s\n", nd->dentry->d_name.name); > 59 } > 60 return 0; > 61 } > > > I get the following errors when compiling: > > enigma linux # make modules > CHK include/linux/version.h > make[1]: `arch/i386/kernel/asm-offsets.s' is up to date. > CHK include/asm-i386/asm_offsets.h > CC [M] security/smac.o > security/smac.c: In function `smac_inode_permission': > security/smac.c:57: error: dereferencing pointer to incomplete type > security/smac.c:58: error: dereferencing pointer to incomplete type > make[1]: *** [security/smac.o] Error 1 > make: *** [security] Error 2 > > If i delete "nd->entry" it works. It looks like nd is not populated. Do i have to populate it with some function? > My kernel is a vanilla 2.6.9 > > thanks.
This archive was generated by hypermail 2.1.3 : Sat Nov 27 2004 - 17:54:56 PST