1 #include "check_debug.h"
2
3 struct sk_buff {
4 unsigned char *head, *data;
5 unsigned short network_header;
6 };
7
8 struct foo {
9 int a, b, c;
10 };
11
12 int frob(struct sk_buff *skb)
13 {
14 struct foo *p;
15
16 p = skb->data + sizeof(int) * 2;
17 __smatch_user_rl(p->a);
18
19 return 0;
20 }
21
22 /*
23 * check-name: smatch: userdata from skb #3
24 * check-command: smatch -p=kernel -I.. sm_skb3.c
25 *
26 * check-output-start
27 sm_skb3.c:17 frob() user rl: 'p->a' = 's32min-s32max'
28 * check-output-end
29 */