리눅스 커널 코드 스니펫 #18 move_addr_to_kernel

6.6.4

net/socket.c:247

move_addr_to_kernel(uaddr: <<__user>> void *, ulen: int, kaddr: struct sockaddr_storage *): int


사용자 공간의 소켓 주소를 커널 공간의 소켓 주소 저장소로 복사하는 함수입니다. ulen 이 크기가 0보다 작은 값이거나 sockaddr_storage 구조체 크기보다 크면 잘못된 값을 뜻하는 -EINVAL 를 리턴하고, 크기가 0이면 아무런 작업이 이루지지 않았기 때문에 0이 리턴됩니다. 이렇게 에러처리가 끝난 후에 copy_from_user 함수를 사용하여 사용자 공간의 소켓 주소를 커널 공간의 주소로 복사합니다. 복사한 이후에 추가적으로 audit_sockaddr 함수를 호출하여 소켓 주소가 올바른지 확인하는 작업을 거친 후에 audit_sockaddr 함수의 리턴 값을 리턴합니다.


더 많은 콘텐츠를 보고 싶다면?

또는

이미 회원이신가요?

2023년 12월 28일 오전 1:43

댓글 0

    함께 읽은 게시물

    PM이 이해하면 좋은 지표 개념

    프로덕트 매니저(PM)로 일하면서 늘 지표 이야기를 듣게 됩니다. 대부분 PM은 선행지표(leading indicator)와 후행지표(lagging indicator)의 개념을 잘 이해하고 있습니다. 하지만 선행지표에 영향을 미치는 '인풋(input) 지표, '아웃풋(o

    ... 더 보기

     • 

    댓글 1 • 저장 37 • 조회 1,453


    🌎 해외에서 일하면 뭐가 좋을까요❓

    외국어를 사용해서? 돈을 더 많이 벌어서? 새로운 기회가 많아서? 글로벌 경력을 쌓을 수 있어서?

    ... 더 보기

    < 서비스를 중독성 있게 만드는 결정적 원리 >

    1. 진통제이면서 비타민이어야 한다.

    ... 더 보기

    [광고] 다음 직무 채용 예정입니다.


    - 프러덕트/사업 기획 1인

    - 프러덕트 디자인 1인

    ... 더 보기

    Next.js 프로젝트를 AWS EKS에 배포하며 배운 것들

    ... 더 보기

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

    product.kyobobook.co.kr

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

     • 

    저장 20 • 조회 1,898


    Longest Common Subsequence 자바스크립트 풀이

    ... 더 보기

    Longest Common Subsequence | 알고달레

    알고달레

    Longest Common Subsequence | 알고달레