Trond- This patch series overhauls NFSv2 and NLMv3 XDR functions to use the same strict buffer checking tools that the NFSv4 XDR functions use. I did some testing with OProfile and perf to see what kind of CPU impact the additional checking has... didn't notice much if any change on the workloads I tried (fsx and cthon). I was careful to structure the code (especially conditionals) so that the common path was as short as possible. --- Chuck Lever (11): lockd: Introduce new-style XDR functions for NLMv3 NFS: Move and update xdr_decode_foo() functions that we're keeping NFS: Replace old NFSv2 decoder functions with xdr_stream-based ones NFS: Introduce new-style XDR decoding functions for NFSv2 NFS: Use the "nfs_stat" enum for nfs_stat_to_errno()'s argument NFS: Move and update xdr_encode_foo() functions that we're keeping NFS: Remove old NFSv2 encoder functions NFS: Introduce new-style XDR encoding functions for NFSv2 SUNRPC: Refactor logic to NUL-terminate strings in pages SUNRPC: Correct an rpcbind debugging message NFS: Fix NFSv3 debugging messages in fs/nfs/nfs3proc.c fs/lockd/Makefile | 4 fs/lockd/clntxdr.c | 657 +++++++++++++++++++++ fs/lockd/xdr.c | 258 -------- fs/nfs/internal.h | 4 fs/nfs/nfs2xdr.c | 1349 ++++++++++++++++++++++++++++++-------------- fs/nfs/nfs3proc.c | 5 fs/nfs/nfs3xdr.c | 6 fs/nfs/nfs4xdr.c | 5 fs/nfs/proc.c | 2 include/linux/sunrpc/xdr.h | 1 net/sunrpc/rpcb_clnt.c | 5 net/sunrpc/xdr.c | 17 + 12 files changed, 1598 insertions(+), 715 deletions(-) create mode 100644 fs/lockd/clntxdr.c -- Chuck Lever -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html