RE: [PATCH 1/3] tools: hv: daemon should subscribe only to CN_KVP_IDX group

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Tomas Hozza [mailto:thozza@xxxxxxxxxx]
> Sent: Wednesday, March 13, 2013 9:14 AM
> To: gregkh@xxxxxxxxxxxxxxxxxxx
> Cc: KY Srinivasan; jasowang@xxxxxxxxxx; Haiyang Zhang;
> devel@xxxxxxxxxxxxxxxxxxxxxx; Tomas Hozza
> Subject: [PATCH 1/3] tools: hv: daemon should subscribe only to CN_KVP_IDX
> group
> 
> Previously HyperV daemon set sockaddr_nl.nl_groups to CN_KVP_IDX.
> Netlink documentation says: "nl_groups is a bit mask with every bit
> representing a netlink group number". Since CN_KVP_IDX value is "9"
> HyperV daemon was receiving Netlink messages also from group number
> "1" which is used by CGroup Rules Engine Daemon. This caused the
> daemon to segfault (at least on 2.6.32 kernel).
> 
> HyperV daemon should set nl_groups to zero and specify multicast
> group CN_KVP_IDX only by using socket options.
> 
> Signed-off-by: Tomas Hozza <thozza@xxxxxxxxxx>

Acked-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> ---
>  tools/hv/hv_kvp_daemon.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
> index c800ea4..908a612 100644
> --- a/tools/hv/hv_kvp_daemon.c
> +++ b/tools/hv/hv_kvp_daemon.c
> @@ -1443,7 +1443,7 @@ int main(void)
>  	addr.nl_family = AF_NETLINK;
>  	addr.nl_pad = 0;
>  	addr.nl_pid = 0;
> -	addr.nl_groups = CN_KVP_IDX;
> +	addr.nl_groups = 0;
> 
> 
>  	error = bind(fd, (struct sockaddr *)&addr, sizeof(addr));
> @@ -1452,7 +1452,7 @@ int main(void)
>  		close(fd);
>  		exit(EXIT_FAILURE);
>  	}
> -	sock_opt = addr.nl_groups;
> +	sock_opt = CN_KVP_IDX;
>  	setsockopt(fd, 270, 1, &sock_opt, sizeof(sock_opt));
>  	/*
>  	 * Register ourselves with the kernel.
> --
> 1.8.1.4
> 
> 


_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux