Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes: > On Sat, 9 May 2020, Thomas Gleixner wrote: > >> Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes: >> > On Sat, May 09, 2020 at 12:20:14AM -0700, syzbot wrote: >> >> memtype_reserve failed: [mem 0xffffffffff000-0x00008fff], req write-back >> >> WARNING: CPU: 1 PID: 7025 at arch/x86/mm/pat/memtype.c:589 memtype_reserve+0x69f/0x820 arch/x86/mm/pat/memtype.c:589 >> > >> > So should memtype_reserve() not do a WARN if given invalid parameters as >> > it can be triggered by userspace requests? >> > >> > A normal "invalid request" debug line is probably all that is needed, >> > right? >> >> I disagree. The callsite espcially if user space triggerable should not >> attempt to ask for a reservation where start > end: >> >> >> memtype_reserve failed: [mem 0xffffffffff000-0x00008fff], req write-back >> >> The real question is which part of the call chain is responsible for >> this. That needs to be fixed. > > What about all the other ways in which a reservation request could be > invalid? The MM core already checks for these; what point is there in > duplicating these checks in many places higher up the call chain? Defensive programming rule #1: Check crap early but have the check which ultimatively catches it at the last possible place as well.