On 3/20/15 3:17 PM, Linus Torvalds wrote:
In other words, if I read that sparc asm right (and it is very likely
that I do *not*), then "objp" is NULL, and that's why you crash.
That does appear to be why. I put a WARN_ON before
clear_obj_pfmemalloc() if objpp[i] is NULL. I got 2 splats during an
'allyesconfig' build and the system stayed up.
That's odd, because we know that objp cannot be NULL in
kmem_slab_free() (even if we allowed it, like with kfree(),
remove_vma() cannot possibly have a NULL vma, since ti dereferences it
multiple times).
So I must be misreading this completely. Somebody with better sparc
debugging mojo should double-check my logic. How would objp be NULL?
I'll add checks to higher layers and see if it reveals anything.
I did ask around and apparently this bug is hit only with the new M7
processors. DaveM: that's why you are not hitting this.