Bug 1426
Summary: | slab error in cache_free_debugcheck() ... memory outside object was overwritten [sd.c vs. MESH] | ||
---|---|---|---|
Product: | Platform Specific/Hardware | Reporter: | John Mock (kd6pag) |
Component: | PPC-32 | Assignee: | Zwane Mwaikambo (zwane) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | benh |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.0-test9 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
Patch to driver/scsi/sd.c workaround possible MESH byte-alignment problem.
Full 'dmesg' output. .config file for linux-2.6.0-test9 |
Description
John Mock
2003-10-26 10:27:03 UTC
[oops, web interface wemt awry] 'benh' says: I know what's going on in sd_read_capacity(), and so far, it proved quite harmless on my 8500, it's the MESH DBDMA controller that doesn't like beeing passed a buffer that isn't aligned to a 16 bytes boundary I'd say (or maybe a 32 bytes boundary). It's erasing a few bytes before the buffer, thus trashing the pattern put there by the slab debugging code. And indeed, forcing that boundary at sd_revalidate_disk() seems to fix the problem, but that seems like bad place to put something which is platform specific. The following patch seems to fix it: Created attachment 1205 [details]
Patch to driver/scsi/sd.c workaround possible MESH byte-alignment problem.
This probably isn't the best fix, but it solves the problem at least for the
upcoming 2.6.0 release.
Below is the full 'dmesg' showing the configuration and .config file
Created attachment 1206 [details]
Full 'dmesg' output.
Created attachment 1207 [details]
.config file for linux-2.6.0-test9
|