In the Linux kernel, the following vulnerability has been resolved: atm: clip: Fix memory leak of struct clipvcc. ioctl(ATMARPMKIP) allocates struct clipvcc and set it to vcc->userback. The code assumes that vccdestroysocket() passes NULL skb to vcc->push() when the socket is close()d, and then clippush() frees clipvcc. However, ioctl(ATMARPDCTRL) sets NULL to vcc->push() in atminitatmarp(), resulting in memory leak. Let's serialise two ioctl() by locksock() and check vcc->push() in atminitatmarp() to prevent memleak.