Hi Olivier,
I've fixed this one, and queued it for the next release.
Thanks for the bug report.
Dave
crash> struct security_operations -o
struct security_operations {
[0] int (*ptrace)(struct task_struct *, struct task_struct *);
[8] int (*capget)(struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t
*);
[16] int (*capset_check)(struct task_struct *, kernel_cap_t *, kernel_cap_t *,
kernel_cap_t *);
[24] void (*capset_set)(struct task_struct *, kernel_cap_t *, kernel_cap_t *,
kernel_cap_t *);
[32] int (*acct)(struct file *);
[40] int (*sysctl)(ctl_table *, int);
[48] int (*capable)(struct task_struct *, int);
[56] int (*quotactl)(int, int, int, struct super_block *);
[64] int (*quota_on)(struct file *);
[72] int (*syslog)(int);
[80] int (*vm_enough_memory)(long int);
[88] int (*bprm_alloc_security)(struct linux_binprm *);
[96] void (*bprm_free_security)(struct linux_binprm *);
[104] void (*bprm_apply_creds)(struct linux_binprm *, int);
[112] int (*bprm_set_security)(struct linux_binprm *);
[120] int (*bprm_check_security)(struct linux_binprm *);
[128] int (*bprm_secureexec)(struct linux_binprm *);
[136] int (*sb_alloc_security)(struct super_block *);
[144] void (*sb_free_security)(struct super_block *);
[152] int (*sb_copy_data)(struct file_system_type *, void *, void *);
[160] int (*sb_kern_mount)(struct super_block *, void *);
[168] int (*sb_statfs)(struct super_block *);
[176] int (*sb_mount)(char *, struct nameidata *, char *, long unsigned int, void *);
[184] int (*sb_check_sb)(struct vfsmount *, struct nameidata *);
[192] int (*sb_umount)(struct vfsmount *, int);
[200] void (*sb_umount_close)(struct vfsmount *);
[208] void (*sb_umount_busy)(struct vfsmount *);
[216] void (*sb_post_remount)(struct vfsmount *, long unsigned int, void *);
[224] void (*sb_post_mountroot)(void);
[232] void (*sb_post_addmount)(struct vfsmount *, struct nameidata *);
[240] int (*sb_pivotroot)(struct nameidata *, struct nameidata *);
[248] void (*sb_post_pivotroot)(struct nameidata *, struct nameidata *);
[256] int (*inode_alloc_security)(struct inode *);
[264] void (*inode_free_security)(struct inode *);
[272] int (*inode_create)(struct inode *, struct dentry *, int);
[280] void (*inode_post_create)(struct inode *, struct dentry *, int);
[288] int (*inode_link)(struct dentry *, struct inode *, struct dentry *);
[296] void (*inode_post_link)(struct dentry *, struct inode *, struct dentry *);
[304] int (*inode_unlink)(struct inode *, struct dentry *);
[312] int (*inode_symlink)(struct inode *, struct dentry *, const char *);
[320] void (*inode_post_symlink)(struct inode *, struct dentry *, const char *);
[328] int (*inode_mkdir)(struct inode *, struct dentry *, int);
[336] void (*inode_post_mkdir)(struct inode *, struct dentry *, int);
[344] int (*inode_rmdir)(struct inode *, struct dentry *);
[352] int (*inode_mknod)(struct inode *, struct dentry *, int, dev_t);
[360] void (*inode_post_mknod)(struct inode *, struct dentry *, int, dev_t);
[368] int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct
dentry *);
[376] void (*inode_post_rename)(struct inode *, struct dentry *, struct inode *, struct
dentry *);
[384] int (*inode_readlink)(struct dentry *);
[392] int (*inode_follow_link)(struct dentry *, struct nameidata *);
[400] int (*inode_permission)(struct inode *, int, struct nameidata *);
[408] int (*inode_setattr)(struct dentry *, struct iattr *);
[416] int (*inode_getattr)(struct vfsmount *, struct dentry *);
[424] void (*inode_delete)(struct inode *);
[432] int (*inode_setxattr)(struct dentry *, char *, void *, size_t, int);
[440] void (*inode_post_setxattr)(struct dentry *, char *, void *, size_t, int);
[448] int (*inode_getxattr)(struct dentry *, char *);
[456] int (*inode_listxattr)(struct dentry *);
[464] int (*inode_removexattr)(struct dentry *, char *);
[472] int (*inode_getsecurity)(struct inode *, const char *, void *, size_t);
[480] int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t,
int);
[488] int (*inode_listsecurity)(struct inode *, char *, size_t);
[496] int (*file_permission)(struct file *, int);
[504] int (*file_alloc_security)(struct file *);
[512] void (*file_free_security)(struct file *);
[520] int (*file_ioctl)(struct file *, unsigned int, long unsigned int);
[528] int (*file_mmap)(struct file *, long unsigned int, long unsigned int);
[536] int (*file_mprotect)(struct vm_area_struct *, long unsigned int);
[544] int (*file_lock)(struct file *, unsigned int);
[552] int (*file_fcntl)(struct file *, unsigned int, long unsigned int);
[560] int (*file_set_fowner)(struct file *);
[568] int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int);
[576] int (*file_receive)(struct file *);
[584] int (*task_create)(long unsigned int);
[592] int (*task_alloc_security)(struct task_struct *);
[600] void (*task_free_security)(struct task_struct *);
[608] int (*task_setuid)(uid_t, uid_t, uid_t, int);
[616] int (*task_post_setuid)(uid_t, uid_t, uid_t, int);
[624] int (*task_setgid)(gid_t, gid_t, gid_t, int);
[632] int (*task_setpgid)(struct task_struct *, pid_t);
[640] int (*task_getpgid)(struct task_struct *);
[648] int (*task_getsid)(struct task_struct *);
[656] int (*task_setgroups)(struct group_info *);
[664] int (*task_setnice)(struct task_struct *, int);
[672] int (*task_setrlimit)(unsigned int, struct rlimit *);
[680] int (*task_setscheduler)(struct task_struct *, int, struct sched_param *);
[688] int (*task_getscheduler)(struct task_struct *);
[696] int (*task_kill)(struct task_struct *, struct siginfo *, int);
[704] int (*task_wait)(struct task_struct *);
[712] int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int,
long unsigned int);
[720] void (*task_reparent_to_init)(struct task_struct *);
[728] void (*task_to_inode)(struct task_struct *, struct inode *);
[736] int (*ipc_permission)(struct kern_ipc_perm *, short int);
[744] int (*msg_msg_alloc_security)(struct msg_msg *);
[752] void (*msg_msg_free_security)(struct msg_msg *);
[760] int (*msg_queue_alloc_security)(struct msg_queue *);
[768] void (*msg_queue_free_security)(struct msg_queue *);
[776] int (*msg_queue_associate)(struct msg_queue *, int);
[784] int (*msg_queue_msgctl)(struct msg_queue *, int);
[792] int (*msg_queue_msgsnd)(struct msg_queue *, struct msg_msg *, int);
[800] int (*msg_queue_msgrcv)(struct msg_queue *, struct msg_msg *, struct task_struct
*, long int, int);
[808] int (*shm_alloc_security)(struct shmid_kernel *);
[816] void (*shm_free_security)(struct shmid_kernel *);
[824] int (*shm_associate)(struct shmid_kernel *, int);
[832] int (*shm_shmctl)(struct shmid_kernel *, int);
[840] int (*shm_shmat)(struct shmid_kernel *, char *, int);
[848] int (*sem_alloc_security)(struct sem_array *);
[856] void (*sem_free_security)(struct sem_array *);
[864] int (*sem_associate)(struct sem_array *, int);
[872] int (*sem_semctl)(struct sem_array *, int);
[880] int (*sem_semop)(struct sem_array *, struct sembuf *, unsigned int, int);
[888] int (*netlink_send)(struct sock *, struct sk_buff *);
[896] int (*netlink_recv)(struct sk_buff *);
[904] int (*register_security)(const char *, struct security_operations *);
[912] int (*unregister_security)(const char *, struct security_operations *);
[920] void (*d_instantiate)(struct dentry *, struct inode *);
[928] int (*getprocattr)(struct task_struct *, char *, void *, size_t);
[936] int (*setprocattr)(struct task_struct *, char *, void *, size_t);
[944] int (*unix_stream_connect)(struct socket *, struct socket *, struct sock *);
[952] int (*unix_may_send)(struct socket *, struct socket *);
[960] int (*socket_create)(int, int, int, int);
[968] void (*socket_post_create)(struct socket *, int, int, int, int);
[976] int (*socket_bind)(struct socket *, struct sockaddr *, int);
[984] int (*socket_connect)(struct socket *, struct sockaddr *, int);
[992] int (*socket_listen)(struct socket *, int);
[1000] int (*socket_accept)(struct socket *, struct socket *);
[1008] void (*socket_post_accept)(struct socket *, struct socket *);
[1016] int (*socket_sendmsg)(struct socket *, struct msghdr *, int);
[1024] int (*socket_recvmsg)(struct socket *, struct msghdr *, int, int);
[1032] int (*socket_getsockname)(struct socket *);
[1040] int (*socket_getpeername)(struct socket *);
[1048] int (*socket_getsockopt)(struct socket *, int, int);
[1056] int (*socket_setsockopt)(struct socket *, int, int);
[1064] int (*socket_shutdown)(struct socket *, int);
[1072] int (*socket_sock_rcv_skb)(struct sock *, struct sk_buff *);
[1080] int (*socket_getpeersec)(struct socket *, char *, int *, unsigned int);
[1088] int (*sk_alloc_security)(struct sock *, int, int);
[1096] void (*sk_free_security)(struct sock *);
}
SIZE: 1104
crash>