Handle negative read sizes more correctly

A negative read or write size always returns (afaict) `SCE_KERNEL_ERROR_ILLEGAL_ADDR`, at least in user mode for valid addresses.

-[Unknown]