|
From: <sv...@va...> - 2006-03-20 15:36:38
|
Author: tom
Date: 2006-03-20 15:36:28 +0000 (Mon, 20 Mar 2006)
New Revision: 5782
Log:
Make hard limit enforcement work for RLIMIT_DATA and RLIMIT_STACK in
the setrlimit system call wrapper.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.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 2006-03-20 10:29:30 UTC (=
rev 5781)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2006-03-20 15:36:28 UTC (=
rev 5782)
@@ -5070,8 +5070,8 @@
}
}
else if (ARG1 =3D=3D VKI_RLIMIT_DATA) {
- if (((struct vki_rlimit *)ARG2)->rlim_cur > ((struct vki_rlimit *)=
ARG2)->rlim_max ||
- ((struct vki_rlimit *)ARG2)->rlim_max > ((struct vki_rlimit *)=
ARG2)->rlim_max) {
+ if (((struct vki_rlimit *)ARG2)->rlim_cur > VG_(client_rlimit_data=
).rlim_max ||
+ ((struct vki_rlimit *)ARG2)->rlim_max > VG_(client_rlimit_data=
).rlim_max) {
SET_STATUS_Failure( VKI_EPERM );
}
else {
@@ -5080,8 +5080,8 @@
}
}
else if (ARG1 =3D=3D VKI_RLIMIT_STACK && tid =3D=3D 1) {
- if (((struct vki_rlimit *)ARG2)->rlim_cur > ((struct vki_rlimit *)=
ARG2)->rlim_max ||
- ((struct vki_rlimit *)ARG2)->rlim_max > ((struct vki_rlimit *)=
ARG2)->rlim_max) {
+ if (((struct vki_rlimit *)ARG2)->rlim_cur > VG_(client_rlimit_stac=
k).rlim_max ||
+ ((struct vki_rlimit *)ARG2)->rlim_max > VG_(client_rlimit_stac=
k).rlim_max) {
SET_STATUS_Failure( VKI_EPERM );
}
else {
|