[LU-11911] lov_iocontrol: BUG: unable to handle kernel NULL pointer dereference at 0000000000000100 Created: 31/Jan/19 Updated: 22/Jan/20 Resolved: 19/Apr/19 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.13.0, Lustre 2.12.4 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Vladimir Saveliev | Assignee: | Vladimir Saveliev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||
| Severity: | 3 | ||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
For inactive OST lov->lov_tgts[index]->ltd_exp is NULL, it should be checked before accessing lov->lov_tgts[index]->ltd_exp->exp_obd. static int lov_iocontrol(unsigned int cmd, struct obd_export *exp, int len, void *karg, void __user *uarg) ... imp = lov->lov_tgts[index]->ltd_exp->exp_obd->u.cli.cl_import; if (!lov->lov_tgts[index]->ltd_active && imp->imp_state != LUSTRE_IMP_IDLE) RETURN(-ENODATA); ... The problem can be seen with: # REFORMAT=yes sh llmount.sh # lctl conf_param lustre-OST0001.osc.active=0 # sh llmountcleanup.sh # NOFORMAT=yes sh llmount.sh # lfs df It causes: [ 2659.212961] BUG: unable to handle kernel NULL pointer dereference at 0000000000000100 [ 2659.216168] IP: [<ffffffffc0cbd3b8>] lov_iocontrol+0x308/0x21f0 [lov] |
| Comments |
| Comment by Gerrit Updater [ 31/Jan/19 ] |
|
Vladimir Saveliev (c17830@cray.com) uploaded a new patch: https://review.whamcloud.com/34148 |
| Comment by Gerrit Updater [ 18/Feb/19 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/34148/ |
| Comment by Peter Jones [ 19/Apr/19 ] |
|
Landed for 2.13 |
| Comment by Gerrit Updater [ 14/Jan/20 ] |
|
Minh Diep (mdiep@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/37226 |
| Comment by Gerrit Updater [ 22/Jan/20 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37226/ |