Page MenuHomeFreeBSD

Rewrite linux_recvfrom. To avoid double conversion of sockaddr use kern_recvit() directly. And check fromlen parameter before sockaddr copyin and conversion.
ClosedPublic

Authored by dchagin on Nov 2 2014, 10:17 PM.
Tags
None
Referenced Files
F105808039: D1082.id4474.diff
Fri, Dec 20, 11:59 PM
F105807667: D1082.id5640.diff
Fri, Dec 20, 11:50 PM
F105797112: D1082.diff
Fri, Dec 20, 8:15 PM
Unknown Object (File)
Wed, Dec 18, 4:09 AM
Unknown Object (File)
Wed, Dec 18, 3:23 AM
Unknown Object (File)
Sun, Dec 8, 10:07 AM
Unknown Object (File)
Nov 11 2024, 8:39 AM
Unknown Object (File)
Oct 1 2024, 7:49 AM
Subscribers

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dchagin retitled this revision from to Rewrite linux_recvfrom. To avoid double conversion of sockaddr use kern_recvit() directly. And check fromlen parameter before sockaddr copyin and conversion..
trasz added inline comments.
sys/compat/linux/linux_socket.c
1035 ↗(On Diff #2228)

!= 0; few other occurences below.

1053 ↗(On Diff #2228)

sys_recvfrom() calls recvit() here, which also copies out the msg_namelen. It seems to be missing here.

1057 ↗(On Diff #2228)

!= NULL

whoops, you are right. fixed. style(9) also fixed.

This revision was automatically updated to reflect the committed changes.