@@ -125,7 +125,6 @@ pub struct Env {
125
125
daemonize : bool ,
126
126
new_pid_ns : bool ,
127
127
start_time_us : u64 ,
128
- start_time_cpu_us : u64 ,
129
128
jailer_cpu_time_us : u64 ,
130
129
extra_args : Vec < String > ,
131
130
cgroups : Vec < Box < dyn Cgroup > > ,
@@ -161,11 +160,7 @@ impl fmt::Debug for Env {
161
160
}
162
161
163
162
impl Env {
164
- pub fn new (
165
- arguments : & arg_parser:: Arguments ,
166
- start_time_us : u64 ,
167
- start_time_cpu_us : u64 ,
168
- ) -> Result < Self , JailerError > {
163
+ pub fn new ( arguments : & arg_parser:: Arguments , start_time_us : u64 ) -> Result < Self , JailerError > {
169
164
// Unwraps should not fail because the arguments are mandatory arguments or with default
170
165
// values.
171
166
let id = arguments
@@ -290,7 +285,6 @@ impl Env {
290
285
daemonize,
291
286
new_pid_ns,
292
287
start_time_us,
293
- start_time_cpu_us,
294
288
jailer_cpu_time_us : 0 ,
295
289
extra_args : arguments. extra_args ( ) ,
296
290
cgroups,
@@ -502,7 +496,6 @@ impl Env {
502
496
Command :: new ( chroot_exec_file)
503
497
. args ( [ "--id" , & self . id ] )
504
498
. args ( [ "--start-time-us" , & self . start_time_us . to_string ( ) ] )
505
- . args ( [ "--start-time-cpu-us" , & self . start_time_cpu_us . to_string ( ) ] )
506
499
. args ( [ "--parent-cpu-time-us" , & self . jailer_cpu_time_us . to_string ( ) ] )
507
500
. stdin ( Stdio :: inherit ( ) )
508
501
. stdout ( Stdio :: inherit ( ) )
@@ -730,10 +723,7 @@ impl Env {
730
723
}
731
724
732
725
// Compute jailer's total CPU time up to the current time.
733
- self . jailer_cpu_time_us +=
734
- utils:: time:: get_time_us ( utils:: time:: ClockType :: ProcessCpu ) - self . start_time_cpu_us ;
735
- // Reset process start time.
736
- self . start_time_cpu_us = 0 ;
726
+ self . jailer_cpu_time_us += utils:: time:: get_time_us ( utils:: time:: ClockType :: ProcessCpu ) ;
737
727
738
728
// If specified, exec the provided binary into a new PID namespace.
739
729
if self . new_pid_ns {
@@ -858,7 +848,7 @@ mod tests {
858
848
let arg_parser = build_arg_parser ( ) ;
859
849
let mut args = arg_parser. arguments ( ) . clone ( ) ;
860
850
args. parse ( & make_args ( & ArgVals :: new ( ) ) ) . unwrap ( ) ;
861
- Env :: new ( & args, 0 , 0 ) . unwrap ( )
851
+ Env :: new ( & args, 0 ) . unwrap ( )
862
852
}
863
853
864
854
#[ test]
@@ -872,7 +862,7 @@ mod tests {
872
862
args. parse ( & make_args ( & good_arg_vals) ) . unwrap ( ) ;
873
863
// This should be fine.
874
864
let good_env =
875
- Env :: new ( & args, 0 , 0 ) . expect ( "This new environment should be created successfully." ) ;
865
+ Env :: new ( & args, 0 ) . expect ( "This new environment should be created successfully." ) ;
876
866
877
867
let mut chroot_dir = PathBuf :: from ( good_arg_vals. chroot_base ) ;
878
868
chroot_dir. push ( Path :: new ( good_arg_vals. exec_file ) . file_name ( ) . unwrap ( ) ) ;
@@ -897,7 +887,7 @@ mod tests {
897
887
let arg_parser = build_arg_parser ( ) ;
898
888
args = arg_parser. arguments ( ) . clone ( ) ;
899
889
args. parse ( & make_args ( & another_good_arg_vals) ) . unwrap ( ) ;
900
- let another_good_env = Env :: new ( & args, 0 , 0 )
890
+ let another_good_env = Env :: new ( & args, 0 )
901
891
. expect ( "This another new environment should be created successfully." ) ;
902
892
assert ! ( !another_good_env. daemonize) ;
903
893
assert ! ( !another_good_env. new_pid_ns) ;
@@ -915,7 +905,7 @@ mod tests {
915
905
let arg_parser = build_arg_parser ( ) ;
916
906
args = arg_parser. arguments ( ) . clone ( ) ;
917
907
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
918
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
908
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
919
909
920
910
let invalid_res_limit_arg_vals = ArgVals {
921
911
resource_limits : vec ! [ "zzz" ] ,
@@ -925,7 +915,7 @@ mod tests {
925
915
let arg_parser = build_arg_parser ( ) ;
926
916
args = arg_parser. arguments ( ) . clone ( ) ;
927
917
args. parse ( & make_args ( & invalid_res_limit_arg_vals) ) . unwrap ( ) ;
928
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
918
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
929
919
930
920
let invalid_id_arg_vals = ArgVals {
931
921
id : "/ad./sa12" ,
@@ -935,7 +925,7 @@ mod tests {
935
925
let arg_parser = build_arg_parser ( ) ;
936
926
args = arg_parser. arguments ( ) . clone ( ) ;
937
927
args. parse ( & make_args ( & invalid_id_arg_vals) ) . unwrap ( ) ;
938
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
928
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
939
929
940
930
let inexistent_exec_file_arg_vals = ArgVals {
941
931
exec_file : "/this!/file!/should!/not!/exist!/" ,
@@ -946,7 +936,7 @@ mod tests {
946
936
args = arg_parser. arguments ( ) . clone ( ) ;
947
937
args. parse ( & make_args ( & inexistent_exec_file_arg_vals) )
948
938
. unwrap ( ) ;
949
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
939
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
950
940
951
941
let invalid_uid_arg_vals = ArgVals {
952
942
uid : "zzz" ,
@@ -956,7 +946,7 @@ mod tests {
956
946
let arg_parser = build_arg_parser ( ) ;
957
947
args = arg_parser. arguments ( ) . clone ( ) ;
958
948
args. parse ( & make_args ( & invalid_uid_arg_vals) ) . unwrap ( ) ;
959
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
949
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
960
950
961
951
let invalid_gid_arg_vals = ArgVals {
962
952
gid : "zzz" ,
@@ -966,7 +956,7 @@ mod tests {
966
956
let arg_parser = build_arg_parser ( ) ;
967
957
args = arg_parser. arguments ( ) . clone ( ) ;
968
958
args. parse ( & make_args ( & invalid_gid_arg_vals) ) . unwrap ( ) ;
969
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
959
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
970
960
971
961
let invalid_parent_cg_vals = ArgVals {
972
962
parent_cgroup : Some ( "/root" ) ,
@@ -976,7 +966,7 @@ mod tests {
976
966
let arg_parser = build_arg_parser ( ) ;
977
967
args = arg_parser. arguments ( ) . clone ( ) ;
978
968
args. parse ( & make_args ( & invalid_parent_cg_vals) ) . unwrap ( ) ;
979
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
969
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
980
970
981
971
let invalid_controller_pt = ArgVals {
982
972
cgroups : vec ! [ "../file_name=1" , "./root=1" , "/home=1" ] ,
@@ -985,7 +975,7 @@ mod tests {
985
975
let arg_parser = build_arg_parser ( ) ;
986
976
args = arg_parser. arguments ( ) . clone ( ) ;
987
977
args. parse ( & make_args ( & invalid_controller_pt) ) . unwrap ( ) ;
988
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
978
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
989
979
990
980
let invalid_format = ArgVals {
991
981
cgroups : vec ! [ "./root/" , "../root" ] ,
@@ -994,7 +984,7 @@ mod tests {
994
984
let arg_parser = build_arg_parser ( ) ;
995
985
args = arg_parser. arguments ( ) . clone ( ) ;
996
986
args. parse ( & make_args ( & invalid_format) ) . unwrap ( ) ;
997
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
987
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
998
988
999
989
// The chroot-base-dir param is not validated by Env::new, but rather in run, when we
1000
990
// actually attempt to create the folder structure (the same goes for netns).
@@ -1196,7 +1186,7 @@ mod tests {
1196
1186
} ;
1197
1187
fs:: write ( exec_file_path, "some_content" ) . unwrap ( ) ;
1198
1188
args. parse ( & make_args ( & some_arg_vals) ) . unwrap ( ) ;
1199
- let mut env = Env :: new ( & args, 0 , 0 ) . unwrap ( ) ;
1189
+ let mut env = Env :: new ( & args, 0 ) . unwrap ( ) ;
1200
1190
1201
1191
// Create the required chroot dir hierarchy.
1202
1192
fs:: create_dir_all ( env. chroot_dir ( ) ) . expect ( "Could not create dir hierarchy." ) ;
@@ -1258,7 +1248,7 @@ mod tests {
1258
1248
..good_arg_vals. clone ( )
1259
1249
} ;
1260
1250
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
1261
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
1251
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
1262
1252
1263
1253
// Check empty string
1264
1254
let mut args = arg_parser. arguments ( ) . clone ( ) ;
@@ -1267,7 +1257,7 @@ mod tests {
1267
1257
..good_arg_vals. clone ( )
1268
1258
} ;
1269
1259
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
1270
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
1260
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
1271
1261
1272
1262
// Check valid file empty value
1273
1263
let mut args = arg_parser. arguments ( ) . clone ( ) ;
@@ -1276,7 +1266,7 @@ mod tests {
1276
1266
..good_arg_vals. clone ( )
1277
1267
} ;
1278
1268
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
1279
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
1269
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
1280
1270
1281
1271
// Check valid file no value
1282
1272
let mut args = arg_parser. arguments ( ) . clone ( ) ;
@@ -1285,7 +1275,7 @@ mod tests {
1285
1275
..good_arg_vals. clone ( )
1286
1276
} ;
1287
1277
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
1288
- Env :: new ( & args, 0 , 0 ) . unwrap_err ( ) ;
1278
+ Env :: new ( & args, 0 ) . unwrap_err ( ) ;
1289
1279
1290
1280
// Cases that should succeed
1291
1281
@@ -1296,7 +1286,7 @@ mod tests {
1296
1286
..good_arg_vals. clone ( )
1297
1287
} ;
1298
1288
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
1299
- Env :: new ( & args, 0 , 0 ) . unwrap ( ) ;
1289
+ Env :: new ( & args, 0 ) . unwrap ( ) ;
1300
1290
1301
1291
// Check valid case
1302
1292
let mut args = arg_parser. arguments ( ) . clone ( ) ;
@@ -1305,7 +1295,7 @@ mod tests {
1305
1295
..good_arg_vals. clone ( )
1306
1296
} ;
1307
1297
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
1308
- Env :: new ( & args, 0 , 0 ) . unwrap ( ) ;
1298
+ Env :: new ( & args, 0 ) . unwrap ( ) ;
1309
1299
1310
1300
// Check file with multiple "."
1311
1301
let mut args = arg_parser. arguments ( ) . clone ( ) ;
@@ -1314,7 +1304,7 @@ mod tests {
1314
1304
..good_arg_vals. clone ( )
1315
1305
} ;
1316
1306
args. parse ( & make_args ( & invalid_cgroup_arg_vals) ) . unwrap ( ) ;
1317
- Env :: new ( & args, 0 , 0 ) . unwrap ( ) ;
1307
+ Env :: new ( & args, 0 ) . unwrap ( ) ;
1318
1308
}
1319
1309
1320
1310
#[ test]
0 commit comments