SCTP: update sctp_getsockopt helpers to allow oversized buffers
authorNeil Horman <nhorman@tuxdriver.com>
Sat, 16 Jun 2007 18:03:45 +0000 (14:03 -0400)
committerVlad Yasevich <vladislav.yasevich@hp.com>
Tue, 19 Jun 2007 13:46:34 +0000 (09:46 -0400)
commit408f22e81ea2fcf96c80e85ee12d20ef5148bf7c
treeee155bc07749f551247c9fbf86e39356351db49d
parent19e6454ca778e11e81497bd87c930dc0defd03d7
SCTP: update sctp_getsockopt helpers to allow oversized buffers

I noted the other day while looking at a bug that was ostensibly
in some perl networking library, that we strictly avoid allowing getsockopt
operations to complete if we pass in oversized buffers.  This seems to make
libraries like Perl::NET malfunction since it seems to allocate oversized
buffers for use in several operations.  It also seems to be out of line with
the way udp, tcp and ip getsockopt routines handle buffer input (since the
*optlen pointer in both an input and an output and gets set to the length
of the data that we copy into the buffer).  This patch brings our getsockopt
helpers into line with other protocols, and allows us to accept oversized
buffers for our getsockopt operations.  Tested by me with good results.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
net/sctp/socket.c