rem: if ((addr)value < KERNEL_BASE || (addr)value > (KERNEL_TOP - 8))
add: if ((addr)value >= KERNEL_BASE && (addr)value <= KERNEL_TOP)
context: user_atomic_or64(vint64 *value, int64 orValue){	cpu_status status;	int64 oldValue;	status = disable_interrupts();	acquire_spinlock(&user_lock);	if ((addr)value < KERNEL_BASE || (addr)value > (KERNEL_TOP - 8))		goto error;	if (user_memcpy(&oldValue, value, 8) < 0)		goto error;	orValue |= oldValue;	if (user_memcpy(value, &orValue, 8) < 0)		goto error;	release_spinlock(&user_lock);	restore_interrupts(status);	return oldValue;error:	release_spinlock(&user_lock);	restore_interrupts(status);	// XXX kill application	return -1;}