diff options
Diffstat (limited to 'drivers/scsi/st.c')
-rw-r--r-- | drivers/scsi/st.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 47a5698a712a..5325cf0ab197 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c | |||
@@ -17,7 +17,7 @@ | |||
17 | Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support | 17 | Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support |
18 | */ | 18 | */ |
19 | 19 | ||
20 | static char *verstr = "20050802"; | 20 | static char *verstr = "20050830"; |
21 | 21 | ||
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | 23 | ||
@@ -4444,12 +4444,12 @@ static int st_map_user_pages(struct scatterlist *sgl, const unsigned int max_pag | |||
4444 | static int sgl_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, | 4444 | static int sgl_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, |
4445 | unsigned long uaddr, size_t count, int rw) | 4445 | unsigned long uaddr, size_t count, int rw) |
4446 | { | 4446 | { |
4447 | unsigned long end = (uaddr + count + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
4448 | unsigned long start = uaddr >> PAGE_SHIFT; | ||
4449 | const int nr_pages = end - start; | ||
4447 | int res, i, j; | 4450 | int res, i, j; |
4448 | unsigned int nr_pages; | ||
4449 | struct page **pages; | 4451 | struct page **pages; |
4450 | 4452 | ||
4451 | nr_pages = ((uaddr & ~PAGE_MASK) + count + ~PAGE_MASK) >> PAGE_SHIFT; | ||
4452 | |||
4453 | /* User attempted Overflow! */ | 4453 | /* User attempted Overflow! */ |
4454 | if ((uaddr + count) < uaddr) | 4454 | if ((uaddr + count) < uaddr) |
4455 | return -EINVAL; | 4455 | return -EINVAL; |