[LU-11691] lfs getstripe buffer overflows with very large stripe counts Created: 22/Nov/18 Updated: 30/Apr/19 Resolved: 30/Apr/19 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.13.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Patrick Farrell (Inactive) | Assignee: | Patrick Farrell (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
When doing lfs getstripe on very large stripe counts (1000+), it sometimes gets various pointer errors. I'm having a little trouble pinning these down, as they go away if lfs getstripe is run again at the same stripe count (I suspect we're seeing something like glibc allocating a larger block of memory and then us not running off the end of it again - I can't come up with another reason why this would happen). I'm opening this bug partly to track these, I will try to update with more details once I can reliably reproduce the problem. getstripe doesn't crash at anything under ~1000 stripes, but valgrind reports memory access errors starting at a few hundred stripes. This problem is not especially serious (if anyone were using counts this high, they would've reported it ages ago), and I should be able to create a patch. Just not quite yet. Here's some sample valgrind output for getstripe of 200 stripes. I haven't dug in to the details yet, it may be straightforward to fix: 0 96 0x60 0 |
| Comments |
| Comment by Gerrit Updater [ 29/Dec/18 ] |
|
Patrick Farrell (paf@cray.com) uploaded a new patch: https://review.whamcloud.com/33941 |
| Comment by Gerrit Updater [ 03/Feb/19 ] |
|
Patrick Farrell (pfarrell@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/34171 |
| Comment by Gerrit Updater [ 30/Apr/19 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/34171/ |
| Comment by Peter Jones [ 30/Apr/19 ] |
|
Landed for 2.13 |