NFS server panics in tcp_sendpage
Issue: Kernel panics on RHEL 5.8 NFS server when RHEL 5.8 client accesses.
Environment:
- Red Hat enterprise Linux (RHEL) 5.8 NFS server with /proc/fs/nfsd/max_block_size set to 1048576
- NFS client mounting an export on the NFS server using an rsize/wsize of 1048576
- TCP being used for NFS communication
Fixed in RHEL5.8.z, kernel-2.6.18-308.11.1.el5 (see latest 5.8.z errata). Currently tracked in RHEL5.9 Bug 814626.
Workaround:
Decrease the maximum IO size to something less than 1MB by writing to /proc/fs/nfsd/max_block_size, for example:
echo 524288 >/proc/fs/nfsd/max_block_size
Note this has to be done after mounting /proc/fs/nfsd, but before starting nfsd. It is recommended this change be made via /etc/modprobe.d/modprobe.conf.dist as follows:
# grep max_block_size /etc/modprobe.d/modprobe.conf.dist install nfsd /sbin/modprobe --first-time --ignore-install nfsd && { /bin/mount -t nfsd nfsd /proc/fs/nfsd > /dev/null 2>&1 || :; echo 524288 > /proc/fs/nfsd/max_block_size; } #
Root Cause:
The rq_pages array has 1MB/PAGE_SIZE+2 elements. The loop in svc_recv attempts to allocate sv_bufsz/PAGE_SIZE+2 pages. But the NFS server is setting sv_bufsz to over a megabyte, with the result that svc_recv may attempt to allocate sv_bufsz/PAGE_SIZE+3 pages and run past the end of the array, overwriting rq_respages.
'OS > RedHat Bug Report' 카테고리의 다른 글
[BUG] Kernel panic in libfc code (0) | 2014.04.24 |
---|---|
[BUG] yum raises ImportError exception (0) | 2014.04.24 |
[BUG] kernel panic in 'put_rpccred+0x13a/0x150 [sunrpc]' (0) | 2014.04.24 |
[BUG] GFS2 filesystem withdraw with: function = get_leaf, file = fs/gfs2/dir.c, line = 763 (0) | 2014.04.24 |
[BUG] RHEL 6 machine crashes while trying to read from a tty (0) | 2014.04.24 |
[BUG] Kernel BUG at fs/direct-io.c:923 (0) | 2014.04.24 |
[BUG] RHEL 6 machine crashes while trying to read from a tty (0) | 2014.04.24 |
[BUG] Automounter (autofs) segmentation faults (0) | 2014.04.24 |
[BUG] tg3 network interface unstable (0) | 2014.04.24 |
[BUG] Issue with bonding over Broadcom (bnx2) cards using vlan (0) | 2014.04.24 |