Michael Skralivetsky reported some problems recently that turned out to be client name string collisions. He has a test environment where the hostnames are quite long, and only differ at the very end. The v4.1 name string buffer is currently limited to 48 bytes, which is very small. When we go to build the name string, the end can be truncated and if the hostnames are long enough, this can allow the client identifiers to be duplicates of one another. This patchset should fix the problem by allowing the client name string to be as long as the spec allows (1k). It also gets rid of the large-ish on-stack buffers that are currently used to build these strings, and fixes some potential memory reclaim recursion problems that could occur when these strings are generated. Jeff Layton (4): nfs: convert setclientid and exchange_id encoders to use clp->cl_owner_id nfs: update maxsz values for SETCLIENTID and EXCHANGE_ID nfs: make nfs4_init_nonuniform_client_string use a dynamically allocated buffer nfs: make nfs4_init_uniform_client_string use a dynamically allocated buffer fs/nfs/nfs4proc.c | 159 ++++++++++++++++++++++++++++++++++-------------- fs/nfs/nfs4xdr.c | 11 ++-- include/linux/nfs_xdr.h | 8 +-- 3 files changed, 121 insertions(+), 57 deletions(-) -- 2.4.2 -- 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