func: struct nfs_server *CVE_2009_1336_VULN_nfs_create_server(const struct nfs_mount_data struct nfs_fh *mntfh) struct nfs_server * server ; struct nfs_fattr fattr ; int error ; server = nfs_alloc_server ( ); if ( ! server )  error = nfs_init_server ( server , data ); if ( error < 0 )  error = nfs_probe_fsinfo ( server , mntfh , & fattr ); if ( error < 0 )  if ( ! ( fattr . valid & NFS_ATTR_FATTR ) )  error = server -> nfs_client -> rpc_ops -> getattr ( server , mntfh , & fattr ); if ( error < 0 )  memcpy ( & server -> fsid , & fattr . fsid , sizeof ( server -> fsid ) ); dprintk ( "Server FSID: %llx:%llx\n" , ( unsigned long long ) server -> fsid . major , ( unsigned long long ) server -> fsid . minor ); BUG_ON ( ! server -> nfs_client ); BUG_ON ( ! server -> nfs_client -> rpc_ops ); BUG_ON ( ! server -> nfs_client -> rpc_ops -> file_inode_ops ); list_add_tail ( & server -> client_link , & server -> nfs_client -> cl_superblocks ); list_add_tail ( & server -> master_link , & nfs_volume_list ); server -> mount_time = jiffies; return server ; nfs_free_server ( server ); 