[Devel] [PATCH RHEL7 COMMIT] kobj, uevent: allow to broadcast event to ve0 from any ve

Konstantin Khorenko khorenko at virtuozzo.com
Fri Jul 21 11:29:03 MSK 2017


Please consider creating a ReadyKernel patch for it.

https://readykernel.com/

--
Best regards,

Konstantin Khorenko,
Virtuozzo Linux Kernel Team

On 07/21/2017 11:24 AM, Konstantin Khorenko wrote:
> The commit is pushed to "branch-rh7-3.10.0-514.26.1.vz7.33.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
> after rh7-3.10.0-514.26.1.vz7.33.12
> ------>
> commit ab14494ba29caf688ba38a519cbe12552294714c
> Author: Andrey Ryabinin <aryabinin at virtuozzo.com>
> Date:   Fri Jul 21 12:24:48 2017 +0400
>
>     kobj, uevent: allow to broadcast event to ve0 from any ve
>
>     Commit 732eb5c2ac0a ("ve/kobj: Send events per VE instead of
>     all net-namespaces broadcasting") forbid to send uevents to any another
>     ve. So when container stumps on FS-corruption and sends uevent about that,
>     the host uevents won't see it. Let's allow to broadcast any events to
>     the ve0 from other ve's to fix this
>
>     https://jira.sw.ru/browse/PSBM-68710
>
>     Signed-off-by: Andrey Ryabinin <aryabinin at virtuozzo.com>
>     Reviewed-by: Cyrill Gorcunov <gorcunov at openvz.org>
> ---
>  lib/kobject_uevent.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
> index 2ef1e15..f67dca2 100644
> --- a/lib/kobject_uevent.c
> +++ b/lib/kobject_uevent.c
> @@ -259,11 +259,13 @@ int kobject_uevent_env_one(struct kobject *kobj, enum kobject_action action,
>  		struct sock *uevent_sock = ue_sk->sk;
>  		struct sk_buff *skb;
>  		size_t len;
> +		struct ve_struct *owner_ve;
>
>  		if (!netlink_has_listeners(uevent_sock, 1))
>  			continue;
>
> -		if (sock_net(uevent_sock)->owner_ve != get_exec_env())
> +		owner_ve = sock_net(uevent_sock)->owner_ve;
> +		if (!ve_is_super(owner_ve) && owner_ve != get_exec_env())
>  			continue;
>
>  		/* allocate message with the maximum possible size */
> .
>


More information about the Devel mailing list