Hey Elena, I've pushed some changes to smatch_kernel_host_data.c and smatch_points_to_host_data.c. It hopefully just brings that code more in line with the user_data code. The main thing is that smatch_points_to_host_data.c didn't differentiate between when the function gets host data from the user vs when it is passed in. That means if you have function: int *frob(int *x) { return x; } And one caller passes in host data then all of them get host data back. So then now we're passing host data pointers to even more functions and the problem gets worse and worse over time. Which is maybe not a huge deal in terms of the warnings generated, but it was taking 8GB of data in my database. regards, dan carpenter