Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rootless: bind mount devices instead of creating them #3909

Merged

Conversation

giuseppe
Copy link
Member

when running in rootless mode, --device creates a bind mount from the
host instead of specifying the device in the OCI configuration. This
is required as an unprivileged user cannot use mknod, even when root
in a user namespace.

Closes: #3905

Signed-off-by: Giuseppe Scrivano giuseppe@scrivano.org

@openshift-ci-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: giuseppe

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/S labels Aug 29, 2019
@mheon
Copy link
Member

mheon commented Aug 29, 2019

Are there any side effects of bind-mount versus recreating the node? I can't think of any...

@rhatdan
Copy link
Member

rhatdan commented Aug 30, 2019

There are potential SELinux issues, since the devices do not have the SELinux label, But hopefully we allow the devices a non privileged user would be allowed to read/write already.

LGTM

@rhatdan
Copy link
Member

rhatdan commented Aug 31, 2019

@rhatdan
Copy link
Member

rhatdan commented Sep 1, 2019

/retest

@rhatdan
Copy link
Member

rhatdan commented Sep 1, 2019

LGTM again.

Copy link
Member

@vrothberg vrothberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one nit (in case a rebase/repush is required).

Otherwise, LGTM

pkg/spec/config_linux.go Show resolved Hide resolved
when running in rootless mode, --device creates a bind mount from the
host instead of specifying the device in the OCI configuration.  This
is required as an unprivileged user cannot use mknod, even when root
in a user namespace.

Closes: containers#3905

Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
eBPF requires to be root in the init namespace.

Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
provide an implementation for getDevices that skip unreadable
directories for the current user.

Based on the implementation from runc/libcontainer.

Closes: containers#3919

Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
@giuseppe
Copy link
Member Author

giuseppe commented Sep 2, 2019

disabling selinux for the devices tests did the trick. Tests are all green now

Copy link
Member

@vrothberg vrothberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@baude
Copy link
Member

baude commented Sep 2, 2019

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 2, 2019
@openshift-merge-robot openshift-merge-robot merged commit 099549b into containers:master Sep 2, 2019
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 26, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rootless podman run --device /dev/fuse:/dev/fuse1 is broken.
7 participants