On Wed, Oct 24, 2018 at 12:35:01AM +0300, Igor Stoppa wrote: > In some cases, all the data needing protection can be allocated from a pool > in one go, as directly writable, then initialized and protected. > The sequence is relatively short and it's acceptable to leave the entire > data set unprotected. > > In other cases, this is not possible, because the data will trickle over > a relatively long period of time, in a non predictable way, possibly for > the entire duration of the operations. > > For these cases, the safe approach is to have the memory already write > protected, when allocated. However, this will require replacing any > direct assignment with calls to functions that can perform write rare. > > Since lists are one of the most commonly used data structures in kernel, > they are a the first candidate for receiving write rare extensions. > > This patch implements basic functionality for altering said lists. > > Signed-off-by: Igor Stoppa <[email protected]> > CC: Thomas Gleixner <[email protected]> > CC: Kate Stewart <[email protected]> > CC: "David S. Miller" <[email protected]> > CC: Greg Kroah-Hartman <[email protected]> > CC: Philippe Ombredanne <[email protected]> > CC: "Paul E. McKenney" <[email protected]> > CC: Josh Triplett <[email protected]> > CC: Steven Rostedt <[email protected]> > CC: Mathieu Desnoyers <[email protected]> > CC: Lai Jiangshan <[email protected]> > CC: [email protected] > --- > MAINTAINERS | 1 + > include/linux/prlist.h | 934 +++++++++++++++++++++++++++++++++++++++++
I'm not at all sure I understand the Changelog, or how it justifies duplicating almost 1k lines of code. Sure lists aren't the most complicated thing we have, but duplicating that much is still very _very_ bad form. Why are we doing this?

