[LU-6872] Infinite loop in lsm_alloc_plain on error cleanup Created: 18/Jul/15 Updated: 26/Jul/15 Resolved: 26/Jul/15 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.8.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Oleg Drokin | Assignee: | John Hammond |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | patch | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
A recent lov cleanup (patch 5ccd7a4a556b1a847eb5bff8b2395522a6f4bca8 http://review.whamcloud.com/13722 by John Hammond) has introduced an infinite loop in lsm_alloc_plain by changing type of variable 'i' from signed to unsigned: struct lov_stripe_md *lsm_alloc_plain(u16 stripe_count)
{
...
unsigned int i;
...
err:
while (--i >= 0)
OBD_SLAB_FREE(lsm->lsm_oinfo[i], lov_oinfo_slab, sizeof(*loi));
Now the while loop is infinite. |
| Comments |
| Comment by Gerrit Updater [ 20/Jul/15 ] |
|
John L. Hammond (john.hammond@intel.com) uploaded a new patch: http://review.whamcloud.com/15644 |
| Comment by Gerrit Updater [ 26/Jul/15 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/15644/ |
| Comment by Peter Jones [ 26/Jul/15 ] |
|
Landed for 2.8 |