On Tue, Dec 15, 2020 at 06:50:12PM +0000, Will Deacon wrote: > On Tue, Dec 15, 2020 at 06:36:45PM +0100, Peter Zijlstra wrote: > > IOW, any (accidental or otherwise) trip through a 32bit helper, will > > destroy user state (the affinity mask: 0x3c). > > Yes, that's correct, and I agree that it's a rough edge. If you're happy > with the idea of adding an extra mask to make this work, then I can start > hacking that up Yeah, I'm afraid we'll have to, this asymmetric muck is only going to get worse from here on. Anyway, I think we can avoid adding another cpumask_t to task_struct and do with a cpumask_t * insteads. After all, for 'normal' tasks, the task_cpu_possible_mask() will be cpu_possible_mask and we don't need to carry anything extra. Only once we hit one of these assymetric ISA things, can the task allocate the additional cpumask and retain the full mask. > (although I doubt I'll get something out before the new > year at this point). Yeah, we're all about to shut down for a bit, I'll not be looking at email for 2 weeks either, so even if you send it, I might not see it until the next year.