|
From: <sv...@va...> - 2005-08-24 13:56:03
|
Author: njn
Date: 2005-08-24 14:55:59 +0100 (Wed, 24 Aug 2005)
New Revision: 4487
Log:
Minor fixes for problems pointed out by Greg Parker:
* The wrapper for fcntl(F_SETOWN) and fcntl(F_SETSIG) ignores ARG3,
but should not.
* Linux PRE(sys_umount) doesn't print ARG2.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2005-08-24 10:57:09 UTC (=
rev 4486)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2005-08-24 13:55:59 UTC (=
rev 4487)
@@ -2600,9 +2600,7 @@
case VKI_F_GETFD:
case VKI_F_GETFL:
case VKI_F_GETOWN:
- case VKI_F_SETOWN:
case VKI_F_GETSIG:
- case VKI_F_SETSIG:
case VKI_F_GETLEASE:
PRINT("sys_fcntl ( %d, %d )", ARG1,ARG2);
PRE_REG_READ2(long, "fcntl", unsigned int, fd, unsigned int, cmd);
@@ -2614,6 +2612,8 @@
case VKI_F_SETFL:
case VKI_F_SETLEASE:
case VKI_F_NOTIFY:
+ case VKI_F_SETOWN:
+ case VKI_F_SETSIG:
PRINT("sys_fcntl[ARG3=3D=3D'arg'] ( %d, %d, %d )", ARG1,ARG2,ARG3)=
;
PRE_REG_READ3(long, "fcntl",
unsigned int, fd, unsigned int, cmd, unsigned long, =
arg);
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2005-08-24 10:57:09 UTC (re=
v 4486)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2005-08-24 13:55:59 UTC (re=
v 4487)
@@ -168,7 +168,7 @@
=20
PRE(sys_umount)
{
- PRINT("sys_umount( %p )", ARG1);
+ PRINT("sys_umount( %p, %d )", ARG1, ARG2);
PRE_REG_READ2(long, "umount2", char *, path, int, flags);
PRE_MEM_RASCIIZ( "umount2(path)", ARG1);
}
|
|
From: Dirk M. <dm...@gm...> - 2005-08-24 14:26:39
|
On Wednesday 24 August 2005 15:56, sv...@va... wrote: > * Linux PRE(sys_umount) doesn't print ARG2. this fails if sys_umount (not sys_umount2) is actually used. also we don't check sys_umount2's 2nd argument for definedness.. |
|
From: Nicholas N. <nj...@cs...> - 2005-08-24 14:40:35
|
On Wed, 24 Aug 2005, Dirk Mueller wrote:
> On Wednesday 24 August 2005 15:56, sv...@va... wrote:
>
>> * Linux PRE(sys_umount) doesn't print ARG2.
>
> this fails if sys_umount (not sys_umount2) is actually used.
What do you mean by "fails"? What should it be?
> also we don't check sys_umount2's 2nd argument for definedness..
Are you sure?
PRE(sys_umount)
{
PRINT("sys_umount( %p, %d )", ARG1, ARG2);
PRE_REG_READ2(long, "umount2", char *, path, int, flags);
PRE_MEM_RASCIIZ( "umount2(path)", ARG1);
}
The PRE_REG_READ2 call checks both args.
N
|