[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4cbf0c0c-ec8b-d953-8ff8-c5cab4d10441@gmail.com>
Date: Sat, 1 Sep 2018 22:25:55 -0600
From: David Ahern <dsahern@...il.com>
To: Jia-Ju Bai <baijiaju1990@...il.com>, davem@...emloft.net,
kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: ipv6: route: Fix a sleep-in-atomic-context bug in
ip6_convert_metrics()
On 9/1/18 5:19 AM, Jia-Ju Bai wrote:
> The kernel module may sleep with holding a spinlock.
...
> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> index ec18b3ce8b6d..d15e72def7c1 100644
> --- a/net/ipv6/route.c
> +++ b/net/ipv6/route.c
> @@ -2742,7 +2742,7 @@ static int ip6_convert_metrics(struct net *net, struct fib6_info *rt,
> if (!cfg->fc_mx)
> return 0;
>
> - p = kzalloc(sizeof(*rt->fib6_metrics), GFP_KERNEL);
> + p = kzalloc(sizeof(*rt->fib6_metrics), GFP_ATOMIC);
> if (unlikely(!p))
> return -ENOMEM;
>
>
This is the wrong solution. I'll take care of it next week after the
holiday weekend.
Powered by blists - more mailing lists