Stack guarded page may not be able to detect overflow/underflow if frame size is larger than page size.
Currently we are guarding (write/read protect) the two pages above and below stack memory so if any write/read occurs for the pages we will know a overflow/underflow happens. However if a frame size is larger than the guarded page size (e.g. ALLOCA
a large piece of stack memory, but never access it), it is possible that we totally skip the guarded page, and cause the stack keeps growing beyond the guarded boundary.