* [LTP] [PATCH] fsync02: fix error of overflow from MUL
@ 2011-01-19 8:19 Peng Haitao
2011-01-19 8:47 ` Garrett Cooper
0 siblings, 1 reply; 3+ messages in thread
From: Peng Haitao @ 2011-01-19 8:19 UTC (permalink / raw)
To: yanegomi; +Cc: ltp-list
Hi Garrett,
If the third argument is SEEK_SET of function fsync(), offset can not be
negative. But when overflow from MUL, the offset is negative.
Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
---
testcases/kernel/syscalls/fsync/fsync02.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/testcases/kernel/syscalls/fsync/fsync02.c b/testcases/kernel/syscalls/fsync/fsync02.c
index 213eac3..64bb012 100644
--- a/testcases/kernel/syscalls/fsync/fsync02.c
+++ b/testcases/kernel/syscalls/fsync/fsync02.c
@@ -102,7 +102,7 @@ int main(int ac, char **av)
}
for (i = 1; i <= data_blocks; i++) {
- offset = (i * BLOCKSIZE * max_block) / data_blocks - BUFSIZ;
+ offset = (BLOCKSIZE * max_block) / data_blocks * i - BUFSIZ;
if ((offsetret = lseek(fd, offset, SEEK_SET)) != offset)
tst_brkm(TBROK|TERRNO, cleanup, "lseek failed: %ld, %ld", offsetret, offset);
if ((ret = write(fd, pbuf, BUFSIZ)) != BUFSIZ)
@@ -197,4 +197,4 @@ void cleanup()
tst_rmdir();
-}
\ No newline at end of file
+}
--
1.7.3.1
--
Best Regards,
Peng Haitao
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [LTP] [PATCH] fsync02: fix error of overflow from MUL
2011-01-19 8:19 [LTP] [PATCH] fsync02: fix error of overflow from MUL Peng Haitao
@ 2011-01-19 8:47 ` Garrett Cooper
2011-01-19 9:09 ` Peng Haitao
0 siblings, 1 reply; 3+ messages in thread
From: Garrett Cooper @ 2011-01-19 8:47 UTC (permalink / raw)
To: Peng Haitao; +Cc: ltp-list
[-- Attachment #1: Type: text/plain, Size: 2528 bytes --]
On Wed, Jan 19, 2011 at 12:19 AM, Peng Haitao <penght@cn.fujitsu.com> wrote:
> Hi Garrett,
>
> If the third argument is SEEK_SET of function fsync(), offset can not be
> negative. But when overflow from MUL, the offset is negative.
>
> Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
>
> ---
> testcases/kernel/syscalls/fsync/fsync02.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/fsync/fsync02.c b/testcases/kernel/syscalls/fsync/fsync02.c
> index 213eac3..64bb012 100644
> --- a/testcases/kernel/syscalls/fsync/fsync02.c
> +++ b/testcases/kernel/syscalls/fsync/fsync02.c
> @@ -102,7 +102,7 @@ int main(int ac, char **av)
> }
>
> for (i = 1; i <= data_blocks; i++) {
> - offset = (i * BLOCKSIZE * max_block) / data_blocks - BUFSIZ;
> + offset = (BLOCKSIZE * max_block) / data_blocks * i - BUFSIZ;
> if ((offsetret = lseek(fd, offset, SEEK_SET)) != offset)
> tst_brkm(TBROK|TERRNO, cleanup, "lseek failed: %ld, %ld", offsetret, offset);
> if ((ret = write(fd, pbuf, BUFSIZ)) != BUFSIZ)
> @@ -197,4 +197,4 @@ void cleanup()
>
> tst_rmdir();
>
> -}
> \ No newline at end of file
> +}
> --
> 1.7.3.1
>
> --
> Best Regards,
> Peng Haitao
>
>
How about the following item?
Please try the attached patch over the following -- it's just
there for review.
Thanks,
-Garrett
$ git diff testcases/kernel/syscalls/fsync/fsync02.c
diff --git a/testcases/kernel/syscalls/fsync/fsync02.c
b/testcases/kernel/syscalls/fsync/fsync02.c
index 213eac3..6227a84 100644
--- a/testcases/kernel/syscalls/fsync/fsync02.c
+++ b/testcases/kernel/syscalls/fsync/fsync02.c
@@ -102,7 +102,8 @@ int main(int ac, char **av)
}
for (i = 1; i <= data_blocks; i++) {
- offset = (i * BLOCKSIZE * max_block) /
data_blocks - BUFSIZ;
+ offset = i * ((BLOCKSIZE * max_block) / data_blocks);
+ offset -= BUFSIZ;
if ((offsetret = lseek(fd, offset, SEEK_SET)) != offset)
tst_brkm(TBROK|TERRNO, cleanup, "lseek
failed: %ld, %ld", offsetret, offset);
if ((ret = write(fd, pbuf, BUFSIZ)) != BUFSIZ)
@@ -197,4 +198,4 @@ void cleanup()
tst_rmdir();
-}
\ No newline at end of file
+}
[-- Attachment #2: 0001-Sort-multipliers-to-avoid-accidental-overflow.patch --]
[-- Type: text/x-patch, Size: 1688 bytes --]
From 1a1478a4162cdf2966077101911987fd22300bde Mon Sep 17 00:00:00 2001
From: Garrett Cooper <yanegomi@gmail.com>
Date: Wed, 19 Jan 2011 00:42:31 -0800
Subject: [PATCH] Sort multipliers to avoid accidental overflow.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------1.7.3.5"
This is a multi-part message in MIME format.
--------------1.7.3.5
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
Signed-off-by: Garrett Cooper <yanegomi@gmail.com>
---
testcases/kernel/syscalls/fsync/fsync02.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
--------------1.7.3.5
Content-Type: text/x-patch; name="0001-Sort-multipliers-to-avoid-accidental-overflow.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Sort-multipliers-to-avoid-accidental-overflow.patch"
diff --git a/testcases/kernel/syscalls/fsync/fsync02.c b/testcases/kernel/syscalls/fsync/fsync02.c
index 213eac3..6227a84 100644
--- a/testcases/kernel/syscalls/fsync/fsync02.c
+++ b/testcases/kernel/syscalls/fsync/fsync02.c
@@ -102,7 +102,8 @@ int main(int ac, char **av)
}
for (i = 1; i <= data_blocks; i++) {
- offset = (i * BLOCKSIZE * max_block) / data_blocks - BUFSIZ;
+ offset = i * ((BLOCKSIZE * max_block) / data_blocks);
+ offset -= BUFSIZ;
if ((offsetret = lseek(fd, offset, SEEK_SET)) != offset)
tst_brkm(TBROK|TERRNO, cleanup, "lseek failed: %ld, %ld", offsetret, offset);
if ((ret = write(fd, pbuf, BUFSIZ)) != BUFSIZ)
@@ -197,4 +198,4 @@ void cleanup()
tst_rmdir();
-}
\ No newline at end of file
+}
--------------1.7.3.5--
[-- Attachment #3: Type: text/plain, Size: 372 bytes --]
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
[-- Attachment #4: Type: text/plain, Size: 155 bytes --]
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [LTP] [PATCH] fsync02: fix error of overflow from MUL
2011-01-19 8:47 ` Garrett Cooper
@ 2011-01-19 9:09 ` Peng Haitao
0 siblings, 0 replies; 3+ messages in thread
From: Peng Haitao @ 2011-01-19 9:09 UTC (permalink / raw)
To: Garrett Cooper; +Cc: ltp-list
Hi Garrett,
Garrett Cooper said the following on 2011-1-19 16:47:
>
> How about the following item?
> Please try the attached patch over the following -- it's just
> there for review.
The patch is OK, thanks:)
--
Best Regards,
Peng Haitao
> Thanks,
> -Garrett
>
> $ git diff testcases/kernel/syscalls/fsync/fsync02.c
> diff --git a/testcases/kernel/syscalls/fsync/fsync02.c
> b/testcases/kernel/syscalls/fsync/fsync02.c
> index 213eac3..6227a84 100644
> --- a/testcases/kernel/syscalls/fsync/fsync02.c
> +++ b/testcases/kernel/syscalls/fsync/fsync02.c
> @@ -102,7 +102,8 @@ int main(int ac, char **av)
> }
>
> for (i = 1; i <= data_blocks; i++) {
> - offset = (i * BLOCKSIZE * max_block) /
> data_blocks - BUFSIZ;
> + offset = i * ((BLOCKSIZE * max_block) / data_blocks);
> + offset -= BUFSIZ;
> if ((offsetret = lseek(fd, offset, SEEK_SET)) != offset)
> tst_brkm(TBROK|TERRNO, cleanup, "lseek
> failed: %ld, %ld", offsetret, offset);
> if ((ret = write(fd, pbuf, BUFSIZ)) != BUFSIZ)
> @@ -197,4 +198,4 @@ void cleanup()
>
> tst_rmdir();
>
> -}
> \ No newline at end of file
> +}
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-01-19 9:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-19 8:19 [LTP] [PATCH] fsync02: fix error of overflow from MUL Peng Haitao
2011-01-19 8:47 ` Garrett Cooper
2011-01-19 9:09 ` Peng Haitao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox