Bug#604627: linux-image-2.6.32-5-amd64: megasas: Failed to alloc kernel SGL buffer for IOCTL
Marc-Christian Petersen <email@example.com> writes:
> On Tue, 23 Nov 2010 15:25:44 +0100, Bjørn Mork <firstname.lastname@example.org> wrote:
>> Please see if this is fixed by the patch I recently posted to the
>> linux-scsi list: http://permalink.gmane.org/gmane.linux.ide/47847
>> I believe you are seeing another symptom of the same bug: The driver
>> happily forwards a 0 length from userspace to dma_alloc_coherent().
>> smartctl will trigger this when trying to enable the self tests.
>> I've attached the patch for simplicity. Note that I haven't yet
>> received any ack on this, but it did fix the problems for the other user
>> reporting similar issues.
> first: sorry for the late answer!
> That patch also fixes my problems. Very cool :-D
Does the selftest actually work? Artem Bokhan reports that the patch
fixes the visible error, but that the selftest does not start. I really
don't understand why, as AFAICS the patch does not change or modify any
part of the command from smartctl. It only ensures that a command with
dxfer_len == 0 doesn't cause an attempt to dma_alloc_coherent zero bytes
(which will fail).
> Many thanks!
> now, how do we get that patch into the official Debian Kernel? ;)
I believe that is as easy as getting it into an upstream kernel, which
will trigger stable, which will be included in Debian automatically.
But I haven't received any feedback from the driver maintainers yet. I
don't know if I should expect any... They seem to collect a number of
changes in internal releases, which are then pushed upstream.