linux_dsm_epyc7002/fs/nfsd
J. Bruce Fields a280df32db nfsd: fix possible read-ahead cache and export table corruption
The value of nperbucket calculated here is too small--we should be rounding up
instead of down--with the result that the index j in the following loop can
overflow the raparm_hash array.  At least in my case, the next thing in memory
turns out to be export_table, so the symptoms I see are crashes caused by the
appearance of four zeroed-out export entries in the first bucket of the hash
table of exports (which were actually entries in the readahead cache, a
pointer to which had been written to the export table in this initialization
code).

It looks like the bug was probably introduced with commit
fce1456a19 ("knfsd: make the readahead params
cache SMP-friendly").

Cc: <stable@kernel.org>
Cc: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Acked-by: NeilBrown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 10:04:52 -07:00
..
auth.c knfsd: nfsd: enforce per-flavor id squashing 2007-07-17 10:23:08 -07:00
export.c knfsd: nfsd: display export secinfo information 2007-07-17 10:23:08 -07:00
lockd.c knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4 2007-07-17 10:23:07 -07:00
Makefile knfsd: trivial makefile cleanup 2007-05-09 12:30:54 -07:00
nfs2acl.c [PATCH] Fix a free-wrong-pointer bug in nfs/acl server. 2007-02-19 16:13:28 -08:00
nfs3acl.c [PATCH] NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() 2006-12-08 08:29:02 -08:00
nfs3proc.c RPC: add wrapper for svc_reserve to account for checksum 2007-05-09 12:30:54 -07:00
nfs3xdr.c knfsd: various nfsd xdr cleanups 2007-05-09 12:30:54 -07:00
nfs4acl.c knfsd: nfsd4: fix handling of acl errrors 2007-07-17 10:23:07 -07:00
nfs4callback.c knfsd: nfsd4: fix enc_stateid_sz for nfsd callbacks 2007-07-17 10:23:07 -07:00
nfs4idmap.c knfsd: nfsd: set rq_client to ip-address-determined-domain 2007-07-17 10:23:07 -07:00
nfs4proc.c knfsd: nfsd4: implement secinfo 2007-07-17 10:23:08 -07:00
nfs4recover.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
nfs4state.c locks: rename lease functions to reflect locks.c conventions 2007-07-18 19:14:12 -04:00
nfs4xdr.c knfsd: nfsd4: secinfo handling without secinfo= option 2007-07-17 10:23:08 -07:00
nfscache.c [PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses 2007-02-12 09:48:36 -08:00
nfsctl.c knfsd: nfsd: remove unused header interface.h 2007-07-17 10:23:07 -07:00
nfsfh.c knfsd: nfsd: allow auth_sys nlm on rpcsec_gss exports 2007-07-17 10:23:08 -07:00
nfsproc.c knfsd: nfsd4: make readonly access depend on pseudoflavor 2007-07-17 10:23:08 -07:00
nfssvc.c knfsd: nfsd4: return nfserr_wrongsec 2007-07-17 10:23:08 -07:00
nfsxdr.c knfsd: various nfsd xdr cleanups 2007-05-09 12:30:54 -07:00
stats.c [PATCH] knfsd: nfsd4: add per-operation server stats 2006-07-10 13:24:27 -07:00
vfs.c nfsd: fix possible read-ahead cache and export table corruption 2007-07-19 10:04:52 -07:00