1*49cdfc7eSAndroid Build Coastguard Worker // SPDX-License-Identifier: GPL-2.0-or-later 2*49cdfc7eSAndroid Build Coastguard Worker /* 3*49cdfc7eSAndroid Build Coastguard Worker * 4*49cdfc7eSAndroid Build Coastguard Worker * Copyright (c) International Business Machines Corp., 2001 5*49cdfc7eSAndroid Build Coastguard Worker * 6*49cdfc7eSAndroid Build Coastguard Worker * Basic test for uname(): 7*49cdfc7eSAndroid Build Coastguard Worker * Calling uname() with invalid buf got EFAULT. 8*49cdfc7eSAndroid Build Coastguard Worker * 9*49cdfc7eSAndroid Build Coastguard Worker */ 10*49cdfc7eSAndroid Build Coastguard Worker 11*49cdfc7eSAndroid Build Coastguard Worker #include <errno.h> 12*49cdfc7eSAndroid Build Coastguard Worker #include <sys/utsname.h> 13*49cdfc7eSAndroid Build Coastguard Worker #include "tst_test.h" 14*49cdfc7eSAndroid Build Coastguard Worker 15*49cdfc7eSAndroid Build Coastguard Worker static void *bad_addr; 16*49cdfc7eSAndroid Build Coastguard Worker verify_uname(void)17*49cdfc7eSAndroid Build Coastguard Workerstatic void verify_uname(void) 18*49cdfc7eSAndroid Build Coastguard Worker { 19*49cdfc7eSAndroid Build Coastguard Worker TST_EXP_FAIL(uname(bad_addr), EFAULT); 20*49cdfc7eSAndroid Build Coastguard Worker } 21*49cdfc7eSAndroid Build Coastguard Worker setup(void)22*49cdfc7eSAndroid Build Coastguard Workerstatic void setup(void) 23*49cdfc7eSAndroid Build Coastguard Worker { 24*49cdfc7eSAndroid Build Coastguard Worker bad_addr = tst_get_bad_addr(NULL); 25*49cdfc7eSAndroid Build Coastguard Worker } 26*49cdfc7eSAndroid Build Coastguard Worker 27*49cdfc7eSAndroid Build Coastguard Worker static struct tst_test test = { 28*49cdfc7eSAndroid Build Coastguard Worker .test_all = verify_uname, 29*49cdfc7eSAndroid Build Coastguard Worker .setup = setup, 30*49cdfc7eSAndroid Build Coastguard Worker }; 31