1 #include "check_debug.h" 2 3 int copy_from_user(void *dest, void *src, int size){} 4 5 struct my_struct { 6 int x, y; 7 }; 8 9 void *pointer; 10 struct my_struct *dest; 11 12 struct my_struct *returns_copy(void) 13 { 14 copy_from_user(dest, pointer, sizeof(*dest)); 15 return dest; 16 } 17 18 struct my_struct *a; 19 void test(void) 20 { 21 a = returns_copy(); 22 __smatch_user_rl(a->x); 23 } 24 25 /* 26 * check-name: smatch user data #2 27 * check-command: smatch -p=kernel -I.. sm_user_data2.c 28 * 29 * check-output-start 30 sm_user_data2.c:22 test() user rl: 'a->x' = 's32min-s32max' 31 * check-output-end 32 */