Shai - *please* don't send stuff to me personally unless I'm
absolutely the only person who can help. Which is not normally the
case at all.
Trond, this BUG_ON() seems to have been introduced in commit
a427b9ec4eda8 ("NFS: Fix a number of bugs in the idmapper") from David
Howells.
David? Why is there a BUG_ON() there? Killing the machine helps us exactly how?
There seems to be some missing locking wrt idmap->idmap_key_cons
accesses. Instead, it uses the insane
+ cons = ACCESS_ONCE(idmap->idmap_key_cons);
+ idmap->idmap_key_cons = NULL;
sequence that makes no sense. What's so special about it that it needs
ACCESS_ONCE()? If that access is unlocked, then setting the field to
NULL directly afterwards seems singularly unsafe. What's the logic
behind such an access pattern?
Linus
On Tue, Aug 14, 2012 at 4:04 PM, Shai Lazmi <[email protected]> wrote:
> While trying to nfs mount I got the following error log
>
> Using:
>
> - nfs-utils 1.2.6
>
> - tirpc 0.2.2
>
>
>
> Thanks
>
>
>
> ------------[ cut here ]------------
>
> kernel BUG at fs/nfs/idmap.c:681!
>
> ACPI: Invalid Power Resource to register!
>
> invalid opcode: 0000 [#1] SMP
>
> Modules linked in: [last unloaded: ring_buffer_benchmark]
>
> Pid: 12544, comm: mount.nfs Not tainted 3.6.0-rc1-00312-g3bf671a #21 System
> manufacturer System Product Name/K8N-DL
>
> EIP: 0060:[<c0590ca0>] EFLAGS: 00010286 CPU: 1
>
> EIP is at nfs_idmap_legacy_upcall+0xf3/0x146
>
> EAX: f56f14a0 EBX: ef7cd840 ECX: f56f11c0 EDX: 00000010
>
> ESI: 00000010 EDI: f56f14b8 EBP: ca231a6c ESP: ca231a4c
>
> DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
>
> CR0: 8005003b CR2: b75a5951 CR3: 0ea48000 CR4: 000007d0
>
> DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
>
> DR6: ffff0ff0 DR7: 00000400
>
> Process mount.nfs (pid: 12544, ti=ca230000 task=ed9bb0c0 task.ti=ca230000)
>
> Stack:
>
> f56f11c0 f5969638 f56f14a0 f56f1cc4 f56f1cd4 c0590bad f54dc600 f5969638
>
> ca231aa0 c05fab85 c09ea4c6 c0aa134c f56f1620 f61dcd80 c0aa1358 f54dcf80
>
> f61dce00 00000000 00000003 f54dc900 f56f1634 ca231ac0 c05fac44 00000000
>
> Call Trace:
>
> [<c0590bad>] ? idmap_pipe_destroy_msg+0x1d/0x1d
>
> [<c05fab85>] request_key_and_link+0x297/0x30c
>
> [<c05fac44>] request_key_with_auxdata+0x19/0x44
>
> [<c0590d8c>] nfs_idmap_request_key+0x99/0x128
>
> [<c0590f05>] nfs_idmap_lookup_id+0x5a/0x95
>
> [<c0591614>] nfs_map_group_to_gid+0x3d/0x47
>
> [<c058a3fb>] decode_getfattr_attrs+0x539/0xa1b
>
> [<c058d6f4>] decode_getfattr_generic.constprop.64+0x63/0x7f
>
> [<c058d720>] decode_getfattr+0x10/0x12
>
> [<c058d908>] nfs4_xdr_dec_lookup_root+0x49/0x50
>
> [<c058d8bf>] ? nfs4_xdr_dec_link+0x98/0x98
>
> [<c07fa7c0>] rpcauth_unwrap_resp+0x48/0x50
>
> [<c07f3813>] call_decode+0x260/0x2a3
>
> [<c058d8bf>] ? nfs4_xdr_dec_link+0x98/0x98
>
> [<c07f9a82>] __rpc_execute+0x7c/0x1d9
>
> [<c07f35b3>] ? call_transmit_status+0x7c/0x7c
>
> [<c07f35b3>] ? call_transmit_status+0x7c/0x7c
>
> [<c0440c35>] ? wake_up_bit+0x1c/0x20
>
> [<c07f9c6a>] rpc_execute+0x50/0x58
>
> [<c07f477c>] rpc_run_task+0x67/0x6d
>
> [<c07f486a>] rpc_call_sync+0x40/0x5b
>
> [<c0584860>] _nfs4_call_sync+0x11/0x13
>
> [<c05846f4>] nfs4_call_sync+0x18/0x1d
>
> [<c0587e44>] nfs4_lookup_root+0x8d/0xb9
>
> [<c0588aa4>] nfs4_proc_get_rootfh+0x22/0x86
>
> [<c059281d>] nfs4_get_rootfh+0x31/0xa4
>
> [<c04bff76>] ? kmem_cache_alloc_trace+0xc5/0xcf
>
> [<c057896c>] ? nfs_alloc_fattr+0x21/0x3a
>
> [<c057892e>] ? nfs_fattr_init+0x21/0x3e
>
> [<c0592950>] nfs4_server_common_setup+0x45/0xab
>
> [<c0592edd>] nfs4_create_server+0x14b/0x171
>
> [<c058fee7>] nfs4_remote_mount+0x26/0x46
>
> [<c04c7e55>] mount_fs+0x13/0x9a
>
> [<c04d8c3d>] vfs_kern_mount+0x4f/0xa1
>
> [<c058fd6a>] nfs_do_root_mount+0x73/0x8d
>
> [<c058ff36>] nfs4_try_mount+0x2f/0x45
>
> [<c057ab93>] nfs_fs_mount+0x5cc/0x627
>
> [<c057af7b>] ? nfs_clone_super+0x60/0x60
>
> [<c0578d74>] ? nfs_setattr+0x107/0x107
>
> [<c04c7e55>] mount_fs+0x13/0x9a
>
> [<c04d8c3d>] vfs_kern_mount+0x4f/0xa1
>
> [<c04d8f4f>] do_kern_mount+0x34/0xb2
>
> [<c04da507>] do_mount+0x5d8/0x626
>
> [<c04da5bb>] sys_mount+0x66/0x99
>
> [<c0825fdc>] sysenter_do_call+0x12/0x2c
>
> Code: 00 8d 93 84 00 00 00 8d 45 ec e8 5a d0 09 00 89 c6 8b 45 e8 85 f6 89
> 58 08 c7 40 0c 8c 00 00 00 78 2b 8b 4d e0 83 79 04 00 74 02 <0f> 0b 8b 45 e4
> 8b 4d e0 8b 55 e8 89 41 04 8b 01 e8 04 23 27 00
>
> EIP: [<c0590ca0>] nfs_idmap_legacy_upcall+0xf3/0x146 SS:ESP 0068:ca231a4c
>
> ---[ end trace fd3a412117aae38c ]---
>
>
> ________________________________
> This message and any attached documents contain information from QLogic
> Corporation or its wholly-owned subsidiaries that may be confidential. If
> you are not the intended recipient, you may not read, copy, distribute, or
> use this information. If you have received this transmission in error,
> please notify the sender immediately by reply e-mail and then delete this
> message.
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html