From 59ff172f8064757e2302f9b4fb7583ec2841d591 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 8 Jan 2015 10:49:40 -0800 Subject: NPTL: Refactor cpu_set_t validation to be sysdeps-controlled This removes Linuxisms related to cpu_set_t validation from the generic NPTL code and puts them into a new sysdeps header file. --- nptl/pthreadP.h | 27 --------------------------- 1 file changed, 27 deletions(-) (limited to 'nptl/pthreadP.h') diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 8a3494c..84a7105 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -629,31 +629,4 @@ check_stacksize_attr (size_t st) return EINVAL; } -/* Defined in pthread_setaffinity.c. */ -extern size_t __kernel_cpumask_size attribute_hidden; -extern int __determine_cpumask_size (pid_t tid); - -/* Returns 0 if CS and SZ are valid values for the cpuset and cpuset size - respectively. Otherwise it returns an error number. */ -static inline int -check_cpuset_attr (const cpu_set_t *cs, const size_t sz) -{ - if (__kernel_cpumask_size == 0) - { - int res = __determine_cpumask_size (THREAD_SELF->tid); - if (res) - return res; - } - - /* Check whether the new bitmask has any bit set beyond the - last one the kernel accepts. */ - for (size_t cnt = __kernel_cpumask_size; cnt < sz; ++cnt) - if (((char *) cs)[cnt] != '\0') - /* Found a nonzero byte. This means the user request cannot be - fulfilled. */ - return EINVAL; - - return 0; -} - #endif /* pthreadP.h */ -- cgit v1.1