[LU-4910] ll_intent_file_open() may pass unitialized req to ptlrpc_req_finished() Created: 15/Apr/14  Updated: 12/Jun/14  Resolved: 12/Jun/14

Status: Closed
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.6.0
Fix Version/s: Lustre 2.6.0

Type: Bug Priority: Critical
Reporter: John Hammond Assignee: WC Triage
Resolution: Fixed Votes: 0
Labels: llite, mdc

Severity: 3
Rank (Obsolete): 13553

 Description   

In ll_intent_file_open() an error return from md_intent_lock() may leave req uninitialized. This is easy to reproduce running racer with 1 MDT and 5% RPC drop.

# export MDSCOUNT=1
# export OSTCOUNT=4
# export MOUNT_2=y
# llmount.sh
# lctl set_param fail_loc=0x08000505
# lctl set_param fail_val=20
# sh lustre/tests/racer.sh

[  798.842752] LustreError: 22840:0:(file.c:174:ll_close_inode_openhandle()) lustre-clilm\
v
-ffff8801af4ecce0: inode [0x200000400:0x1:0x0] mdc close failed: rc = -108
[  798.845246] BUG: unable to handle kernel NULL pointer dereference at 0000000000000376
[  798.845250] IP: [<ffffffffa067d44a>] __ptlrpc_req_finished+0x4a/0x6d0 [ptlrpc]
[  798.845309] PGD 1a6a93067 PUD 1a6e13067 PMD 0
[  798.845313] Oops: 0000 [#1] SMP
...
[  798.845357] Pid: 22819, comm: cp Not tainted 2.6.32-431.5.1.el6.lustre.x86_64 #1 Bochs\
 Bochs
[  798.845361] RIP: 0010:[<ffffffffa067d44a>]  [<ffffffffa067d44a>] __ptlrpc_req_finished\
+0x4a/0x6d0 [ptlrpc]
[  798.845391] RSP: 0018:ffff8801a5f41b68  EFLAGS: 00010293
[  798.845391] RAX: 5a5a5a5a5a5a5a5a RBX: 0000000000000246 RCX: 0000000000000000
[  798.845391] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000246
[  798.845391] RBP: ffff8801a5f41b88 R08: 00000000fffffff8 R09: 00000000fffffffb
[  798.845391] R10: 0000000000000002 R11: 0000000000000000 R12: 0000000000000000
[  798.845391] R13: ffff8801a6f60bf0 R14: ffff8801a5cf4938 R15: 0000000000000000
[  798.845391] FS:  00007ff80b1637a0(0000) GS:ffff88002fe00000(0000) knlGS:00000000000000\
00
[  798.845391] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  798.845391] CR2: 0000000000000376 CR3: 00000001a6e20000 CR4: 00000000000006e0
[  798.845391] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  798.845391] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  798.845391] Process cp (pid: 22819, threadinfo ffff8801a5f40000, task ffff8801a6e38580\
)
[  798.845391] Stack:
[  798.845391]  ffff8801a5cf4938 ffff8801a5f41ca8 00000000ffffff94 ffff8801a6f60bf0
[  798.845391] <d> ffff8801a5f41b98 ffffffffa067e330 ffff8801a5f41c28 ffffffffa0e0614c
[  798.845391] <d> ffff8801a5f41bf0 ffffffffa0e31e90 0000000000000000 ffff8801a5f0c208
[  798.845391] Call Trace:
[  798.845391]  [<ffffffffa067e330>] ptlrpc_req_finished+0x10/0x20 [ptlrpc]
[  798.845391]  [<ffffffffa0e0614c>] ll_intent_file_open+0x31c/0x7b0 [lustre]
[  798.845391]  [<ffffffffa0e31e90>] ? ll_md_blocking_ast+0x0/0x800 [lustre]
[  798.845391]  [<ffffffffa0e07055>] ll_file_open+0x265/0xc00 [lustre]
[  798.845391]  [<ffffffff815547cb>] ? _spin_unlock+0x2b/0x40
[  798.845391]  [<ffffffffa0e06df0>] ? ll_file_open+0x0/0xc00 [lustre]


 Comments   
Comment by John Hammond [ 15/Apr/14 ]

I'll roll the fix to ll_intent_file_open() and ll_lease_open() into http://review.whamcloud.com/#/c/9850.

Comment by John Hammond [ 12/Jun/14 ]

Patch landed to master.

Generated at Sat Feb 10 01:46:54 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.