the address of the pointer to the sched param, rather than the pointer, was being passed to the kernel.
@@ -7,7 +7,7 @@ int pthread_getschedparam(pthread_t t, int *restrict policy, struct sched_param
if (t->dead) {
r = ESRCH;
} else {
- r = -__syscall(SYS_sched_getparam, t->tid, ¶m);
+ r = -__syscall(SYS_sched_getparam, t->tid, param);
if (!r) {
*policy = __syscall(SYS_sched_getscheduler, t->tid);
}