J. Bruce Fields
26935f7537
lockd: fix rpcbind crash on lockd startup failure
commit 7c17705e77 upstream.
Nikita Yuschenko reported that booting a kernel with init=/bin/sh and
then nfs mounting without portmap or rpcbind running using a busybox
mount resulted in:
# mount -t nfs 10.30.130.21:/opt /mnt
svc: failed to register lockdv1 RPC service (errno 111).
lockd_up: makesock failed, error=-111
Unable to handle kernel paging request for data at address 0x00000030
Faulting instruction address: 0xc055e65c
Oops: Kernel access of bad area, sig: 11 [#1]
MPC85xx CDS
Modules linked in:
CPU: 0 PID: 1338 Comm: mount Not tainted 3.10.44.cge #117
task: cf29cea0 ti: cf35c000 task.ti: cf35c000
NIP: c055e65c LR: c0566490 CTR: c055e648
REGS: cf35dad0 TRAP: 0300 Not tainted (3.10.44.cge)
MSR: 00029000 <CE,EE,ME> CR: 22442488 XER: 20000000
DEAR: 00000030, ESR: 00000000
GPR00: c05606f4 cf35db80 cf29cea0 cf0ded80 cf0dedb8 00000001 1dec3086
00000000
GPR08: 00000000 c07b1640 00000007 1dec3086 22442482 100b9758 00000000
10090ae8
GPR16: 00000000 000186a5 00000000 00000000 100c3018 bfa46edc 100b0000
bfa46ef0
GPR24: cf386ae0 c07834f0 00000000 c0565f88 00000001 cf0dedb8 00000000
cf0ded80
NIP [c055e65c] call_start+0x14/0x34
LR [c0566490] __rpc_execute+0x70/0x250
Call Trace:
[cf35db80] [00000080] 0x80 (unreliable)
[cf35dbb0] [c05606f4] rpc_run_task+0x9c/0xc4
[cf35dbc0] [c0560840] rpc_call_sync+0x50/0xb8
[cf35dbf0] [c056ee90] rpcb_register_call+0x54/0x84
[cf35dc10] [c056f24c] rpcb_register+0xf8/0x10c
[cf35dc70] [c0569e18] svc_unregister.isra.23+0x100/0x108
[cf35dc90] [c0569e38] svc_rpcb_cleanup+0x18/0x30
[cf35dca0] [c0198c5c] lockd_up+0x1dc/0x2e0
[cf35dcd0] [c0195348] nlmclnt_init+0x2c/0xc8
[cf35dcf0] [c015bb5c] nfs_start_lockd+0x98/0xec
[cf35dd20] [c015ce6c] nfs_create_server+0x1e8/0x3f4
[cf35dd90] [c0171590] nfs3_create_server+0x10/0x44
[cf35dda0] [c016528c] nfs_try_mount+0x158/0x1e4
[cf35de20] [c01670d0] nfs_fs_mount+0x434/0x8c8
[cf35de70] [c00cd3bc] mount_fs+0x20/0xbc
[cf35de90] [c00e4f88] vfs_kern_mount+0x50/0x104
[cf35dec0] [c00e6e0c] do_mount+0x1d0/0x8e0
[cf35df10] [c00e75ac] SyS_mount+0x90/0xd0
[cf35df40] [c000ccf4] ret_from_syscall+0x0/0x3c
The addition of svc_shutdown_net() resulted in two calls to
svc_rpcb_cleanup(); the second is no longer necessary and crashes when
it calls rpcb_register_call with clnt=NULL.
Reported-by: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>
Fixes: 679b033df4 "lockd: ensure we tear down any live sockets when socket creation fails during lockd_up"
Acked-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:52:20 -07:00
..
2014-01-28 08:38:04 -08:00
2013-10-24 23:43:27 -04:00
2014-06-07 10:28:16 -07:00
2014-02-01 10:59:39 -08:00
2014-06-07 10:28:20 -07:00
2014-01-25 03:14:38 -05:00
2014-09-05 16:34:16 -07:00
2013-11-13 15:34:18 +09:00
2014-06-07 10:28:20 -07:00
2014-10-05 14:52:17 -07:00
2013-11-09 00:16:21 -05:00
2013-11-21 16:42:27 -08:00
2014-01-25 03:13:02 -05:00
2014-09-05 16:34:15 -07:00
2013-11-13 12:09:36 +09:00
2014-01-25 11:17:34 -08:00
2014-01-25 03:13:00 -05:00
2013-11-15 22:04:17 -05:00
2014-01-25 03:13:02 -05:00
2014-01-23 18:54:14 +02:00
2013-11-09 00:16:38 -05:00
2014-01-25 23:58:19 -05:00
2014-01-28 08:38:04 -08:00
2014-09-05 16:34:17 -07:00
2014-01-30 11:19:05 -08:00
2013-10-24 23:43:28 -04:00
2014-02-17 13:47:35 -08:00
2014-07-28 08:05:57 -07:00
2014-01-30 11:19:05 -08:00
2013-11-13 12:09:32 +09:00
2014-03-10 17:26:21 -07:00
2014-01-26 11:51:09 +01:00
2014-02-02 16:24:07 -08:00
2014-09-05 16:34:12 -07:00
2013-12-04 12:27:46 +01:00
2014-09-05 16:34:17 -07:00
2014-04-26 17:19:06 -07:00
2014-02-13 15:56:05 -06:00
2014-06-07 10:28:08 -07:00
2014-10-05 14:52:20 -07:00
2014-01-30 11:19:05 -08:00
2013-10-24 23:43:28 -04:00
2014-10-05 14:52:15 -07:00
2014-09-05 16:34:18 -07:00
2014-01-30 11:19:05 -08:00
2014-01-25 03:14:05 -05:00
2014-02-25 11:18:06 +01:00
2014-02-09 15:18:09 -05:00
2014-05-06 07:59:36 -07:00
2014-09-17 09:19:09 -07:00
2013-12-20 13:12:01 -08:00
2014-01-25 03:13:03 -05:00
2014-07-28 08:05:58 -07:00
2014-01-23 16:36:58 -08:00
2014-07-06 18:57:29 -07:00
2014-01-23 16:37:04 -08:00
2013-11-24 01:02:50 +00:00
2014-06-07 10:28:24 -07:00
2014-07-06 18:57:26 -07:00
2014-02-20 21:56:00 +01:00
2014-09-17 09:19:25 -07:00
2014-10-05 14:52:10 -07:00
2014-03-27 09:52:54 -07:00
2014-06-16 13:40:32 -07:00
2013-11-09 00:16:26 -05:00
2013-11-09 00:16:30 -05:00
2014-01-23 16:36:58 -08:00
2013-10-24 23:34:54 -04:00
2014-02-21 15:56:36 -08:00
2014-02-11 08:40:45 -07:00
2014-02-06 13:48:51 -08:00
2013-11-14 12:08:14 +09:00
2014-01-21 16:19:42 -08:00
2014-07-31 12:52:56 -07:00
2014-09-17 09:19:29 -07:00
2014-01-29 16:22:40 -08:00
2013-11-23 22:33:47 -08:00
2014-01-25 03:13:04 -05:00
2014-06-30 20:12:02 -07:00
2014-06-07 10:28:23 -07:00
2013-10-24 23:34:54 -04:00
2014-05-31 13:20:29 -07:00
2014-03-23 00:03:12 -04:00
2013-11-06 12:40:26 +01:00
2014-04-26 17:19:05 -07:00
2014-06-16 13:40:32 -07:00
2013-11-09 00:16:20 -05:00
2013-10-24 23:34:54 -04:00
2014-01-26 08:26:40 -05:00
2013-11-15 22:04:17 -05:00
2014-05-13 13:32:53 +02:00
2014-01-28 08:38:04 -08:00
2014-03-30 19:18:51 -04:00
2013-11-23 22:33:47 -08:00
2014-09-17 09:19:29 -07:00
2014-09-17 09:19:23 -07:00
2014-05-31 13:20:29 -07:00
2014-01-23 16:37:00 -08:00
2014-09-17 09:19:22 -07:00
2014-05-06 07:59:36 -07:00
2014-06-07 10:28:16 -07:00
2014-01-23 16:37:02 -08:00
2014-03-23 00:03:12 -04:00
2013-10-24 23:34:54 -04:00
2013-11-13 15:34:18 +09:00
2013-11-18 19:07:53 -08:00
2014-01-22 19:36:57 +01:00
2013-11-09 00:16:31 -05:00
2014-05-31 13:20:31 -07:00
2014-02-22 02:02:28 +01:00
2013-11-09 00:16:44 -05:00