Thread (45 messages) 45 messages, 12 authors, 2017-03-16

RE: [RFC PATCH 07/13] kernel/fork: Split and export 'mm_alloc' and 'mm_init'

From: David Laight <hidden>
Date: 2017-03-14 10:18:03
Also in: alsa-devel, linux-alpha, linux-api, linux-arch, linux-fsdevel, linux-mips, linux-mm, linux-s390

From: Linuxppc-dev Till Smejkal
Sent: 13 March 2017 22:14
The only way until now to create a new memory map was via the exported
function 'mm_alloc'. Unfortunately, this function not only allocates a ne=
w
memory map, but also completely initializes it. However, with the
introduction of first class virtual address spaces, some initialization
steps done in 'mm_alloc' are not applicable to the memory maps needed for
this feature and hence would lead to errors in the kernel code.
=20
Instead of introducing a new function that can allocate and initialize
memory maps for first class virtual address spaces and potentially
duplicate some code, I decided to split the mm_alloc function as well as
the 'mm_init' function that it uses.
=20
Now there are four functions exported instead of only one. The new
'mm_alloc' function only allocates a new mm_struct and zeros it out. If o=
ne
want to have the old behavior of mm_alloc one can use the newly introduce=
d
function 'mm_alloc_and_setup' which not only allocates a new mm_struct bu=
t
also fully initializes it.
...

That looks like bugs waiting to happen.
You need unchanged code to fail to compile.

	David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help