nfsd: initialize nfsd versions before creating svc
authorJ. Bruce Fields <bfields@redhat.com>
Fri, 6 Aug 2010 19:48:03 +0000 (15:48 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 6 Aug 2010 21:05:40 +0000 (17:05 -0400)
commite844a7b9805a2b74cfd34c8604f5bba3e0869305
treef0270f65da19a0f6ebc50787dd9edce6a8def9d3
parente2aa7f8304b3b5656ded8699216cc65138d03b64
nfsd: initialize nfsd versions before creating svc

Commit 59db4a0c102e0de226a3395dbf25ea51bf845937 "nfsd: move more into
nfsd_startup()" inadvertently moved nfsd_versions after
nfsd_create_svc().  On older distributions using an rpc.nfsd that does
not explicitly set the list of nfsd versions, this results in
svc-create_pooled() being called with an empty versions array.  The
resulting incomplete initialization leads to a NULL dereference in
svc_process_common() the first time a client accesses the server.

Move nfsd_reset_versions() back before the svc_create_pooled(); this
time, put it closer to the svc_create_pooled() call, to make this
mistake more difficult in the future.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfssvc.c