Re: [PATCH 007 of 14] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 13 Dec 2006 10:59:11 +1100
NeilBrown <[email protected]> wrote:

> From: Chuck Lever <[email protected]>
> Expand the rq_addr field to allow it to contain larger addresses.

This patch breaks the NFS server on my heroically modern RH FC1 machine.

There's a mysterious 30-second pause when initscripts are bringing up
mountd.

showmount (from a FC5 client) works:

box:/usr/src/25> 0 showmount -e vmm
Export list for vmm:
/         *
/mnt/hda5 *

But things get really exciting when we try to mount it:


box:/usr/src/25> 0 mount vmm:/mnt/hda5 /mnt         
*** buffer overflow detected ***: mount terminated
======= Backtrace: =========
/lib64/libc.so.6(__chk_fail+0x2f)[0x32adbdfaef]
mount[0x40bcf8]
mount[0x4044c5]
mount[0x405850]
mount[0x406388]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x32adb1ce54]
mount[0x4034a9]
======= Memory map: ========
00400000-00414000 r-xp 00000000 08:01 3041513                            /bin/mount
00513000-00514000 rw-p 00013000 08:01 3041513                            /bin/mount
00514000-00516000 rw-p 00514000 00:00 0 
00613000-00615000 rw-p 00013000 08:01 3041513                            /bin/mount
00615000-00636000 rw-p 00615000 00:00 0                                  [heap]
32ad900000-32ad91a000 r-xp 00000000 08:01 1619031                        /lib64/ld-2.4.so
32ada19000-32ada1a000 r--p 00019000 08:01 1619031                        /lib64/ld-2.4.so
32ada1a000-32ada1b000 rw-p 0001a000 08:01 1619031                        /lib64/ld-2.4.so
32adb00000-32adc3f000 r-xp 00000000 08:01 1619091                        /lib64/libc-2.4.so
32adc3f000-32add3f000 ---p 0013f000 08:01 1619091                        /lib64/libc-2.4.so
32add3f000-32add43000 r--p 0013f000 08:01 1619091                        /lib64/libc-2.4.so
32add43000-32add44000 rw-p 00143000 08:01 1619091                        /lib64/libc-2.4.so
32add44000-32add49000 rw-p 32add44000 00:00 0 
32ade00000-32ade02000 r-xp 00000000 08:01 1619011                        /lib64/libuuid.so.1.2
32ade02000-32adf02000 ---p 00002000 08:01 1619011                        /lib64/libuuid.so.1.2
32adf02000-32adf03000 rw-p 00002000 08:01 1619011                        /lib64/libuuid.so.1.2
32ae000000-32ae002000 r-xp 00000000 08:01 1619095                        /lib64/libdl-2.4.so
32ae002000-32ae102000 ---p 00002000 08:01 1619095                        /lib64/libdl-2.4.so
32ae102000-32ae103000 r--p 00002000 08:01 1619095                        /lib64/libdl-2.4.so
32ae103000-32ae104000 rw-p 00003000 08:01 1619095                        /lib64/libdl-2.4.so
32ae200000-32ae20e000 r-xp 00000000 08:01 1619005                        /lib64/libdevmapper.so.1.02
32ae20e000-32ae30e000 ---p 0000e000 08:01 1619005                        /lib64/libdevmapper.so.1.02
32ae30e000-32ae310000 rw-p 0000e000 08:01 1619005                        /lib64/libdevmapper.so.1.02
32ae400000-32ae408000 r-xp 00000000 08:01 1619066                        /lib64/libblkid.so.1.0
32ae408000-32ae508000 ---p 00008000 08:01 1619066                        /lib64/libblkid.so.1.0
32ae508000-32ae509000 rw-p 00008000 08:01 1619066                        /lib64/libblkid.so.1.0
32b0600000-32b060d000 r-xp 00000000 08:01 1619093                        /lib64/libgcc_s-4.1.1-20060525.so.1
32b060d000-32b070d000 ---p 0000d000 08:01 1619093                        /lib64/libgcc_s-4.1.1-20060525.so.1
32b070d000-32b070e000 rw-p 0000d000 08:01 1619093                        /lib64/libgcc_s-4.1.1-20060525.so.1
32b2800000-32b2814000 r-xp 00000000 08:01 1619102                        /lib64/libselinux.so.1
32b2814000-32b2913000 ---p 00014000 08:01 1619102                        /lib64/libselinux.so.1
32b2913000-32b2915000 rw-p 00013000 08:01 1619102                        /lib64/libselinux.so.1
32b2915000-32b2916000 rw-p 32b2915000 00:00 0 
32b2a00000-32b2a38000 r-xp 00000000 08:01 1619101                        /lib64/libsepol.so.1
32b2a38000-32b2b37000 ---p 00038000 08:01 1619101                        /lib64/libsepol.so.1
32b2b37000-32b2b38000 rw-p 00037000 08:01 1619101                        /lib64/libsepol.so.1
32b2b38000-32b2b42000 rw-p 32b2b38000 00:00 0 
2b9eea00c000-2b9eea00d000 rw-p 2b9eea00c000 00:00 0 
2b9eea032000-2b9eea036000 rw-p 2b9eea032000 00:00 0 
2b9eea036000-2b9eea039000 r-xp 00000000 08:01 1618858                    /lib64/libsetrans.so.0
2b9eea039000-2b9eea138000 ---p 00003000 08:01 1618858                    /lib64/libsetrans.so.0
2b9eea138000-2b9eea139000 rw-p 00002000 08:01 1618858                    /lib64/libsetrans.so.0
2b9eea139000-2b9eea143000 r-xp 00000000 08:01 1619053                    /lib64/libnss_files-2.4.so
2b9eea143000-2b9eea242000 ---p 0000a000 08:01 1619053                    /lib64/libnss_files-2.4.so
2b9eea242000-2b9eea243000 r--p 00009000 08:01 1619053                    /lib64/libnss_files-2.4.so
2b9eea243000-2b9eea244000 rw-p 0000a000 08:01 1619053                    /lib64/libnss_files-2.4.so
7fffc0a88000-7fffc0a9e000 rw-p 7fffc0a88000 00:00 0                      [stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  [vdso]
zsh: abort      0 mount vmm:/mnt/hda5 /mnt


btw, knfsd-sunrpc-cache-remote-peers-address-in-svc_sock.patch breaks the build:

net/sunrpc/svcsock.c: In function 'svc_recvfrom':
net/sunrpc/svcsock.c:581: error: 'svsk' undeclared (first use in this function)
net/sunrpc/svcsock.c:581: error: (Each undeclared identifier is reported only once

but the next patch
(knfsd-sunrpc-dont-set-msg_name-and-msg_namelen-when-calling-sock_recvmsg.patch)
fixes that.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux