#include const char *abi(void) { #if defined(__amd64__) || defined(__x86_64__) || defined(__AMD64__) || defined(_M_X64) || defined(__amd64) return "amd64"; #elif defined(__i386__) || defined(__x86__) || defined(__X86__) || defined(_M_IX86) || defined(__i386) return "x86"; #elif defined(__ia64__) || defined(__IA64__) || defined(__M_IA64) return "ia64"; #elif defined(__SPU__) return "cellspu"; #elif defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__) || defined(_ARCH_PPC64) return "ppc64"; #elif defined(__powerpc__) || defined(__ppc__) || defined(__PPC__) || defined(_ARCH_PPC) return "ppc32"; #elif defined(__sparcv9__) || defined(__sparcv9) return "sparcv9"; #elif defined(__sparc_v8__) return "sparcv8"; #elif defined(__sparc__) || defined(__sparc) if (sizeof(long) == 4) return "sparcv8"; return "sparcv9"; #elif defined(__ARM_EABI__) return "armeabi"; #elif defined(__arm__) return "arm"; #elif defined(__mips__) || defined(__mips) || defined(__MIPS__) # if defined(_ABIO32) return "mipso32"; # elif defined(_ABIN32) return "mips32"; # else return "mips64"; # endif #else return "default"; #endif } int main(void) { printf("%s\n", abi()); return 0; } net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/include/drm/drm_hashtab.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2017-01-26 16:47:28 -0500
committerTejun Heo <tj@kernel.org>2017-01-26 16:47:28 -0500
commit07cd12945551b63ecb1a349d50a6d69d1d6feb4a (patch)
tree75f65eba7eac9277971082a2d5a4cf1370562c0c /include/drm/drm_hashtab.h
parent7ce7d89f48834cefece7804d38fc5d85382edf77 (diff)
cgroup: don't online subsystems before cgroup_name/path() are operational
While refactoring cgroup creation, a5bca2152036 ("cgroup: factor out cgroup_create() out of cgroup_mkdir()") incorrectly onlined subsystems before the new cgroup is associated with it kernfs_node. This is fine for cgroup proper but cgroup_name/path() depend on the associated kernfs_node and if a subsystem makes the new cgroup_subsys_state visible, which they're allowed to after onlining, it can lead to NULL dereference. The current code performs cgroup creation and subsystem onlining in cgroup_create() and cgroup_mkdir() makes the cgroup and subsystems visible afterwards. There's no reason to online the subsystems early and we can simply drop cgroup_apply_control_enable() call from cgroup_create() so that the subsystems are onlined and made visible at the same time. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> Fixes: a5bca2152036 ("cgroup: factor out cgroup_create() out of cgroup_mkdir()") Cc: stable@vger.kernel.org # v4.6+
Diffstat (limited to 'include/drm/drm_hashtab.h')