[LU-8629] Error exit path doing wrong cleanup in cl_env_percpu_init Created: 20/Sep/16 Updated: 26/Sep/16 Resolved: 26/Sep/16 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.9.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Oleg Drokin | Assignee: | WC Triage |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||
| Description |
|
Upstream kernel guys found a bug in cl_env_percpu_init: if (rc != 0) { /* Indices 0 to i (excluding i) were correctly initialized, * thus we must uninitialize up to i, the rest are undefined. */ for (j = 0; j < i; j++) { cle = &cl_env_percpu[i]; lu_context_exit(&cle->ce_ses); lu_context_fini(&cle->ce_ses); lu_env_fini(&cle->ce_lu); } } Here clearly cle = &cl_env_percpu[i] should be cle = &cl_env_percpu[j]; |
| Comments |
| Comment by Gerrit Updater [ 20/Sep/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) uploaded a new patch: http://review.whamcloud.com/22635 |
| Comment by James A Simmons [ 20/Sep/16 ] |
|
Thanks Oleg for porting this fix. |
| Comment by Gerrit Updater [ 26/Sep/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/22635/ |
| Comment by Peter Jones [ 26/Sep/16 ] |
|
Landed for 2.9 |