Quoting Oren Laadan (orenl@xxxxxxxxxxxxxxx): > > > Serge E. Hallyn wrote: > > Quoting Oren Laadan (orenl@xxxxxxxxxxxxxxx): > >> Serge - > >> > >> The 'creator' makes the 'struct user' recursive because to save > >> an object you need to first save its creator etc. However the > >> implementation may not call checkpoint_obj() recursively, if > >> the depth isn't bound a-priory. You probably need to convert > >> checkpoint_write_user() to do an iterative (loop) implementation > >> of the recursion... > > > > It's not done recursively, though. checkpoint_write_userns() will > > only be called by checkpoint_write_user(). checkpoint_write_user() > > will make sure there are only 5 levels deep of unwritten creator > > user namespace (else bail), then start at the oldest creator, and > > write it. That checkpoint_write_user will cause a write of its > > user_ns, then write the user, then return to the original > > checkpoint_write_user() which will now write the next-oldest > > user_struct > > > > So the max recursion depth we get is: > > > > checkpoint_task_struct -> checkpoint_write_cred -> > > checkpoint_write_user -> checkpoint_write_user -> > > checkpoint_write_userns (END) > > Ok. Let's not restrict to 5 levels :) Will change that, and resend the set hopefully tonight. thanks, -serge _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers