Re: [ovs-dev] [PATCH V2] rhel: Fix support for root user using DPDK
Marcos Felipe Schwarzwrites: > Since 2.8.0 OVS runs as non-root user on rhel distros, but the current > implementation breaks the ability to run as root with DPDK and as a > consequence there is no way possible to use UIO drivers on kernel 4.0 and > newer [1, 2]. > [1] http://dpdk.org/browse/dpdk/commit/?id=cdc242f260e766bd95a658b5e0686a > 62ec04f5b0 > [2] https://www.kernel.org/doc/Documentation/vm/pagemap.txt > > Fixes: e3e738a3d058 ("redhat: allow dpdk to also run as non-root user") > Signed-off-by: Marcos Schwarz > --- > lib/daemon-unix.c | 3 ++- > rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 2 +- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c > index adb549c98..06528e9ab 100644 > --- a/lib/daemon-unix.c > +++ b/lib/daemon-unix.c > @@ -1047,5 +1047,6 @@ daemon_set_new_user(const char *user_spec) > } > } > > -switch_user = true; > +if (!uid_verify(uid) || !gid_verify(gid)) > +switch_user = true; > } > diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in b/rhel/ > usr_lib_systemd_system_ovs-vswitchd.service.in > index c6d9aa1b8..e8b81e707 100644 > --- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in > +++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in > @@ -14,7 +14,7 @@ Environment=HOME=/var/run/openvswitch > EnvironmentFile=/etc/openvswitch/default.conf > EnvironmentFile=-/etc/sysconfig/openvswitch > @begin_dpdk@ > -ExecStartPre=-/usr/bin/chown :hugetlbfs /dev/hugepages > +ExecStartPre=-/bin/sh -c '/usr/bin/chown :${OVS_USER_ID##*:} I think part of this hunk was lost when moving to v2. If you post a v3, add my Acked-by. Thanks, Marcos! > ExecStartPre=-/usr/bin/chmod 0775 /dev/hugepages > @end_dpdk@ > ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ > -- > 2.14.3 > ___ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH V2] rhel: Fix support for root user using DPDK
Hello, On 31/01/18 00:07, Marcos Felipe Schwarz wrote: > diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c > index adb549c98..06528e9ab 100644 > --- a/lib/daemon-unix.c > +++ b/lib/daemon-unix.c > @@ -1047,5 +1047,6 @@ daemon_set_new_user(const char *user_spec) > } > } > > -switch_user = true; > +if (!uid_verify(uid) || !gid_verify(gid)) > +switch_user = true; > } > diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in b/rhel/ > usr_lib_systemd_system_ovs-vswitchd.service.in > index c6d9aa1b8..e8b81e707 100644 > --- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in > +++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in > @@ -14,7 +14,7 @@ Environment=HOME=/var/run/openvswitch > EnvironmentFile=/etc/openvswitch/default.conf > EnvironmentFile=-/etc/sysconfig/openvswitch > @begin_dpdk@ > -ExecStartPre=-/usr/bin/chown :hugetlbfs /dev/hugepages > +ExecStartPre=-/bin/sh -c '/usr/bin/chown :${OVS_USER_ID##*:} There is something missing^^ here. Where do you apply the chown command? -- markos SUSE LINUX GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
[ovs-dev] [PATCH V2] rhel: Fix support for root user using DPDK
Since 2.8.0 OVS runs as non-root user on rhel distros, but the current implementation breaks the ability to run as root with DPDK and as a consequence there is no way possible to use UIO drivers on kernel 4.0 and newer [1, 2]. [1] http://dpdk.org/browse/dpdk/commit/?id=cdc242f260e766bd95a658b5e0686a 62ec04f5b0 [2] https://www.kernel.org/doc/Documentation/vm/pagemap.txt Fixes: e3e738a3d058 ("redhat: allow dpdk to also run as non-root user") Signed-off-by: Marcos Schwarz--- lib/daemon-unix.c | 3 ++- rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c index adb549c98..06528e9ab 100644 --- a/lib/daemon-unix.c +++ b/lib/daemon-unix.c @@ -1047,5 +1047,6 @@ daemon_set_new_user(const char *user_spec) } } -switch_user = true; +if (!uid_verify(uid) || !gid_verify(gid)) +switch_user = true; } diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in b/rhel/ usr_lib_systemd_system_ovs-vswitchd.service.in index c6d9aa1b8..e8b81e707 100644 --- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in +++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in @@ -14,7 +14,7 @@ Environment=HOME=/var/run/openvswitch EnvironmentFile=/etc/openvswitch/default.conf EnvironmentFile=-/etc/sysconfig/openvswitch @begin_dpdk@ -ExecStartPre=-/usr/bin/chown :hugetlbfs /dev/hugepages +ExecStartPre=-/bin/sh -c '/usr/bin/chown :${OVS_USER_ID##*:} ExecStartPre=-/usr/bin/chmod 0775 /dev/hugepages @end_dpdk@ ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ -- 2.14.3 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev