| Summary: | Container get panic error when run with selinux label=role:object_r | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | DeShuai Ma <dma> |
| Component: | Containers | Assignee: | Mrunal Patel <mpatel> |
| Status: | CLOSED WONTFIX | QA Contact: | DeShuai Ma <dma> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 3.4.0 | CC: | amurdaca, aos-bugs, dwalsh, jhonce, jokerman, lsm5, mmccomas |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-02-10 18:02:48 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
DeShuai Ma
2016-11-30 05:56:44 UTC
object_r is not a valid role, but we should ont panic. object_r is only used as a place holder for file contexts. seinfo -r Roles: 14 auditadm_r dbadm_r guest_r staff_r user_r logadm_r object_r secadm_r sysadm_r system_r webadm_r xguest_r nx_server_r unconfined_r All other roles can be used for processes. But the combination of a SELinux user, role, type, level all have to be valid. Most of the time system services run with the system_r roles. Most other roles are used for user roles. Basically a logged in user role. You caused me to write a blog. http://danwalsh.livejournal.com/75683.html This looks like runc gets an error and crashes. What validation should we do? object_r is also included in the output of seinfo -r. (In reply to Daniel Walsh from comment #5) > You caused me to write a blog. > > http://danwalsh.livejournal.com/75683.html Thanks for your blog. Mrunal I don't think we should do any Valdation, the call got a permission denied, but runc needs to handle this cleanly not crash. You can probably get the same thing by passing in invalid types, levels, and SELinux Users. Since the panic is coming from golang, is this worth using recover() to catch the panic? panic is generated from golang standard library. |