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
Reply to
Till Smejkal, 2017-03-13
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
Thread (45 messages) 45 messages, 12 authors, last reply 2017-03-16
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help