krb5 problems in 2.6.36

J. Bruce Fields
2010-08-28T17:10:12Z

As of a17c2153d2e271b0cbacae9bed83b0eaa41db7e1 "SUNRPC: Move the bound
cred to struct rpc_rqst" the NFS server crashes when using krb5.

I don't have good errors--I'll get some--but what I've seen suggests
maybe a use-after-free of an rpc client on rpc_pipefs operations by
gssd?

I need the following to compile commits in that range.

--b.

diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 5eccea1..4a7c3d9 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1382,7 +1382,7 @@ static const struct rpc_call_ops nfs_commit_ops = {
.rpc_release = nfs_commit_release,
};

-static int nfs_commit_inode(struct inode *inode, int how)
+int nfs_commit_inode(struct inode *inode, int how)
{
LIST_HEAD(head);
int may_wait = how & FLUSH_SYNC;
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index a9d8026..92926bf 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -504,6 +504,7 @@ extern int nfs_wb_page_cancel(struct inode *inode, struct page* page);
#if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4)
extern struct nfs_write_data *nfs_commitdata_alloc(void);
extern void nfs_commit_free(struct nfs_write_data *wdata);
+extern int nfs_commit_inode(struct inode *inode, int how);
#endif

static inline int