mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-26 10:34:24 +01:00
v2: Prevent killing all container processes when exec is failed
If an exec is failed(such as executable file not found in $PATH), the `execs.id` will be empty. This leads to all the container processes being killed when calling `Kill` on such exec id. Fixes: #2001 Signed-off-by: Li Yuxuan <liyuxuan04@baidu.com>
This commit is contained in:
@@ -675,6 +675,14 @@ func (s *service) Kill(ctx context.Context, r *taskAPI.KillRequest) (_ *ptypes.E
|
||||
return nil, err
|
||||
}
|
||||
processID = execs.id
|
||||
if processID == "" {
|
||||
logrus.WithFields(logrus.Fields{
|
||||
"sandbox": s.sandbox.ID(),
|
||||
"Container": c.id,
|
||||
"ExecID": r.ExecID,
|
||||
}).Debug("Id of exec process to be signalled is empty")
|
||||
return empty, errors.New("The exec process does not exist")
|
||||
}
|
||||
}
|
||||
|
||||
return empty, s.sandbox.SignalProcess(c.id, processID, signum, r.All)
|
||||
|
||||
Reference in New Issue
Block a user