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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]