diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2014-06-18 23:31:30 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-19 00:03:07 (GMT) |
commit | ff5e92c1affe7166b3f6e7073e648ed65a6e2e59 (patch) | |
tree | 3e4c1685968ba9ea18fd763ea04bc0b3f3c87cef /net/dccp | |
parent | d36a4f4b472334562b8e7252e35d3d770db83815 (diff) | |
download | linux-ff5e92c1affe7166b3f6e7073e648ed65a6e2e59.tar.xz |
net: sctp: propagate sysctl errors from proc_do* properly
sysctl handler proc_sctp_do_hmac_alg(), proc_sctp_do_rto_min() and
proc_sctp_do_rto_max() do not properly reflect some error cases
when writing values via sysctl from internal proc functions such
as proc_dointvec() and proc_dostring().
In all these cases we pass the test for write != 0 and partially
do additional work just to notice that additional sanity checks
fail and we return with hard-coded -EINVAL while proc_do*
functions might also return different errors. So fix this up by
simply testing a successful return of proc_do* right after
calling it.
This also allows to propagate its return value onwards to the user.
While touching this, also fix up some minor style issues.
Fixes: 4f3fdf3bc59c ("sctp: add check rto_min and rto_max in sysctl")
Fixes: 3c68198e7511 ("sctp: Make hmac algorithm selection for cookie generation dynamic")
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
0 files changed, 0 insertions, 0 deletions