Re: [GIT PATCH] scsi bug fixes for 2.6.17-rc5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux