• Julian Wiedmann's avatar
    s390/qeth: fix length check in SNMP processing · 9a764c1e
    Julian Wiedmann authored
    The response for a SNMP request can consist of multiple parts, which
    the cmd callback stages into a kernel buffer until all parts have been
    received. If the callback detects that the staging buffer provides
    insufficient space, it bails out with error.
    This processing is buggy for the first part of the response - while it
    initially checks for a length of 'data_len', it later copies an
    additional amount of 'offsetof(struct qeth_snmp_cmd, data)' bytes.
    
    Fix the calculation of 'data_len' for the first part of the response.
    This also nicely cleans up the memcpy code.
    
    Fixes: 1da177e4 ("Linux-2.6.12-rc2")
    Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
    Reviewed-by: default avatarUrsula Braun <ubraun@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9a764c1e
qeth_core_main.c 183 KB