OSDN Git Service

sunrpc: increase UNX_MAXNODENAME from 32 to __NEW_UTS_LEN bytes
authorJeff Layton <jlayton@poochiereds.net>
Mon, 3 Aug 2015 11:44:53 +0000 (07:44 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 12 Aug 2015 18:31:04 +0000 (14:31 -0400)
commit24a9a9610ce3ba36fd87c1d2f2c9106de6b7e832
treeb2137eb31c216ad8a962b083c1108103bc380f59
parentc8ad8894e92b853df5a766061ee9cde7e10e682f
sunrpc: increase UNX_MAXNODENAME from 32 to __NEW_UTS_LEN bytes

The current limit of 32 bytes artificially limits the name string that
we end up stuffing into NFSv4.x client ID blobs. If you have multiple
hosts with long hostnames that only differ near the end, then this can
cause NFSv4 client ID collisions.

Linux nodenames are actually limited to __NEW_UTS_LEN bytes (64), so use
that as the limit instead. Also, use XDR_QUADLEN to specify the slack
length, just for clarity and in case someone in the future changes this
to something not evenly divisible by 4.

Reported-by: Michael Skralivetsky <michael.skralivetsky@primarydata.com>
Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
include/linux/sunrpc/auth.h
net/sunrpc/auth_unix.c