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]
Message-Id: <1204499992.6240.109.camel@lappy>
Date:	Mon, 03 Mar 2008 00:19:52 +0100
From:	Peter Zijlstra <a.p.zijlstra@...llo.nl>
To:	Jesper Juhl <jesper.juhl@...il.com>
Cc:	LKML <linux-kernel@...r.kernel.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	linux-mm@...ck.org, Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH] leak less memory in failure paths of
	alloc_rt_sched_group()


On Mon, 2008-03-03 at 00:09 +0100, Jesper Juhl wrote:
> In kernel/sched.c b/kernel/sched.c::alloc_rt_sched_group() we currently do 
> some paired memory allocations, and if one fails we bail out without 
> freeing the previous one.
> 
> If we fail inside the loop we should proably roll the whole thing back. 
> This patch does not do that, it simply frees the first member of the 
> paired alloc if the second fails. This is not perfect, but it's a simple 
> change that will, at least, result in us leaking a little less than we 
> currently do when an allocation fails.
> 
> So, not perfect, but better than what we currently have.
> Please consider applying.

Doesn't the following handle that:

sched_create_group()
{
...
	if (!alloc_rt_sched_group())
		goto err;
...

err:
	free_sched_group();
}


free_sched_group()
{
...
	free_rt_sched_group();
...
}

free_rt_sched_group()
{
 	free all relevant stuff
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ