kernel 단에서 ICMP 전송시 lock 을 잡는 이유???

trymp의 이미지

kernel 초보입니다.. kernel 단에서 ICMP 를 전송하는 부분을 보고 있는데요

부팅시에 ICMP socket을 처음에 per_cpu 를 통해 CPU 별로 만드는데,

패킷을 전송시에 ICMP socket spin-lock 을 잡습니다.

CPU 별로 socket 이 있는데, 왜 lock 을 잡는지 모르겠습니다.

lock 을 안잡으면 어떤 문제가 생기는지 아직 이해하지 못한 상태입니다.

고수님들의 많은 조언 부탁드립니다.