#define RVAL_DECODED 0100 /* syscall decoding finished */
#define RVAL_IOCTL_DECODED 0200 /* ioctl sub-parser successfully decoded
the argument */
-#define RVAL_PRINT_ERR_VAL 0400 /* Print decoded error code along with
- syscall return value. Needed for modify_ldt
- that for some reason decides to return
- an error with higher bits set to 0. */
#define IOCTL_NUMBER_UNKNOWN 0
#define IOCTL_NUMBER_HANDLED 1
tcp->u_error = -(unsigned int) tcp->u_rval;
- return RVAL_PRINT_ERR_VAL;
+ return 0;
}
SYS_FUNC(set_thread_area)
tprints(") ");
tabto();
unsigned long u_error = tcp->u_error;
- kernel_long_t u_rval;
if (raw(tcp)) {
if (u_error) {
tprints("= ? ERESTART_RESTARTBLOCK (Interrupted by signal)");
break;
default:
- u_rval = sys_res & RVAL_PRINT_ERR_VAL ?
- tcp->u_rval : -1;
u_error_str = err_name(u_error);
if (u_error_str)
- tprintf("= %" PRI_kld " %s (%s)",
- u_rval, u_error_str, strerror(u_error));
+ tprintf("= %" PRI_kld " %s (%s)", tcp->u_rval,
+ u_error_str, strerror(u_error));
else
- tprintf("= %" PRI_kld " %lu (%s)",
- u_rval, u_error, strerror(u_error));
+ tprintf("= %" PRI_kld " %lu (%s)", tcp->u_rval,
+ u_error, strerror(u_error));
break;
}
if (syscall_tampered(tcp))