1、大致流程 2、 这个“__user”是一个空的宏,那为什么要放一个空的宏在这里呢?起到提示用户的作用,表明这个buf是由用户传进来的,内核里面不可以直接访问这个buf。通过使用copy_from_user,将buf拷贝进val