Re: [GIT PATCH] scsi bug fixes for 2.6.17-rc5
From: Kai Makisara
Date: Thu Jun 01 2006 - 01:06:11 EST
On Wed, 31 May 2006, James Bottomley wrote:
> This is my current slew of small bug fixes which either fix serious
> bugs, or are completely safe for this -rc5 stage of the kernel. I've
> added one more since I last sent you this pull request (the fix memory
> building non-aligned sg lists)
>
> The patch is available from:
>
> master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
>
> The short changelog is:
>
> Bryan Holty:
> o fix memory building non-aligned sg lists
>
I looked at
www.kernel.org/git/?p=linux/kernel/git/jejb/scsi-rc-fixes-2.6.git;.
This patch does the following change:
- int nr_pages = (bufflen + PAGE_SIZE - 1) >> PAGE_SHIFT;
+ int nr_pages = PAGE_ALIGN(bufflen + sgl[0].offset);
This seems to wrong: the new version is missing the right shift. For
instance, offset=0 and bufflen=4096 results in 4096 and not 1!
(Using asm-x86_64, the new version translates to
((bufflen + sgl[0].offset+PAGE_SIZE-1)&(~(PAGE_SIZE-1)))
)
According to the original patch by Brian, the change should probably have
been to (or something equivalent):
+ int nr_pages = (bufflen + sgl[0].offset + PAGE_SIZE - 1) >>
PAGE_SHIFT;
This was tested by several people. Did anyone test the version put into
scsi-rc-fixes-2.6.git?
--
Kai
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/