Bug 177031 - device-mapper mirror log: avoid overrun while syncing
device-mapper mirror log: avoid overrun while syncing
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Alasdair Kergon
Brian Brock
Depends On:
Blocks: 168430
  Show dependency treegraph
Reported: 2006-01-05 10:58 EST by Alasdair Kergon
Modified: 2007-11-30 17:07 EST (History)
4 users (show)

See Also:
Fixed In Version: RHSA-2006-0132
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-03-07 16:08:46 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
dm-log-fix-resync-device-limit.patch (419 bytes, patch)
2006-01-05 10:58 EST, Alasdair Kergon
no flags Details | Diff

  None (edit)
Description Alasdair Kergon 2006-01-05 10:58:08 EST
The initial sync performed when creating a mirror can overrun the end of the
mapped sections of the underlying devices, corrupting data that doesn't
belong to device-mapper.

        do {
                *region = find_next_zero_bit((unsigned long *) lc->sync_bits,
                lc->sync_search = *region + 1;
                if (*region == lc->region_count)
                        return 0;
        } while (log_test_bit(lc->recovering_bits, *region));

        log_set_bit(lc, lc->recovering_bits, *region);
If every bit up to lc->sync_bits is 1 (easily reproduced by setting
the 'nosync' option which is not supposed to do any syncing) *region gets set
to a value that exceeds lc->region_count and you see 'attempt to access beyond
end of device' errors.
Comment 1 Alasdair Kergon 2006-01-05 10:58:08 EST
Created attachment 122833 [details]
Comment 9 Red Hat Bugzilla 2006-03-07 16:08:46 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.