lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 04 Oct 2012 07:08:36 +0200
From:	Eric Dumazet <eric.dumazet@...il.com>
To:	Gao feng <gaofeng@...fujitsu.com>
Cc:	davem@...emloft.net, steffen.klassert@...unet.com,
	netfilter-devel@...r.kernel.org, linux-rdma@...r.kernel.org,
	netdev@...r.kernel.org, linux-crypto@...r.kernel.org,
	pablo@...filter.org, stephen.hemminger@...tta.com, jengelh@...i.de
Subject: Re: [patch v3 02/11] inet_diag: pass inet_diag module to
 netlink_dump_start

On Thu, 2012-10-04 at 12:41 +0800, Gao feng wrote:
> set netlink_dump_control.module to avoid panic.
> 
> Signed-off-by: Gao feng <gaofeng@...fujitsu.com>
> ---
>  net/ipv4/inet_diag.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
> index 535584c..5ffd7bc 100644
> --- a/net/ipv4/inet_diag.c
> +++ b/net/ipv4/inet_diag.c
> @@ -981,6 +981,7 @@ static int inet_diag_rcv_msg_compat(struct sk_buff *skb, struct nlmsghdr *nlh)
>  		{
>  			struct netlink_dump_control c = {
>  				.dump = inet_diag_dump_compat,
> +				.module = THIS_MODULE,
>  			};
>  			return netlink_dump_start(net->diag_nlsk, skb, nlh, &c);
>  		}
> @@ -1010,6 +1011,7 @@ static int inet_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h)
>  		{
>  			struct netlink_dump_control c = {
>  				.dump = inet_diag_dump,
> +				.module = THIS_MODULE,
>  			};
>  			return netlink_dump_start(net->diag_nlsk, skb, h, &c);
>  		}


I believe Pablo suggestion was to make netlink_dump_start()
automatically pass THIS_MODULE so that we dont need to change all call
sites ?

extern int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
				  const struct nlmsghdr *nlh,
				  struct netlink_dump_control *control);

static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
					const struct nlmsghdr *nlh,
					struct netlink_dump_control *control)
{
	control->module = THIS_MODULE;
	return __netlink_dump_start(ssk, skb, nlh, control);
}

or :

extern int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
				  const struct nlmsghdr *nlh,
				  struct netlink_dump_control *control,
				  struct module *module);

static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
					const struct nlmsghdr *nlh,
					struct netlink_dump_control *control)
{
	return __netlink_dump_start(ssk, skb, nlh, control, THIS_MODULE);
}


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ