Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / net / rxrpc / rxkad.c
index ae39255..627abed 100644 (file)
@@ -80,12 +80,10 @@ static int rxkad_init_connection_security(struct rxrpc_connection *conn)
        case RXRPC_SECURITY_AUTH:
                conn->size_align = 8;
                conn->security_size = sizeof(struct rxkad_level1_hdr);
-               conn->header_size += sizeof(struct rxkad_level1_hdr);
                break;
        case RXRPC_SECURITY_ENCRYPT:
                conn->size_align = 8;
                conn->security_size = sizeof(struct rxkad_level2_hdr);
-               conn->header_size += sizeof(struct rxkad_level2_hdr);
                break;
        default:
                ret = -EKEYREJECTED;
@@ -161,7 +159,7 @@ static int rxkad_secure_packet_auth(const struct rxrpc_call *call,
 
        _enter("");
 
-       check = sp->hdr.seq ^ sp->hdr.callNumber;
+       check = sp->hdr.seq ^ call->call_id;
        data_size |= (u32)check << 16;
 
        hdr.data_size = htonl(data_size);
@@ -205,7 +203,7 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call,
 
        _enter("");
 
-       check = sp->hdr.seq ^ sp->hdr.callNumber;
+       check = sp->hdr.seq ^ call->call_id;
 
        rxkhdr.data_size = htonl(data_size | (u32)check << 16);
        rxkhdr.checksum = 0;
@@ -277,7 +275,7 @@ static int rxkad_secure_packet(struct rxrpc_call *call,
        /* calculate the security checksum */
        x = (call->cid & RXRPC_CHANNELMASK) << (32 - RXRPC_CIDSHIFT);
        x |= sp->hdr.seq & 0x3fffffff;
-       call->crypto_buf[0] = htonl(sp->hdr.callNumber);
+       call->crypto_buf[0] = htonl(call->call_id);
        call->crypto_buf[1] = htonl(x);
 
        sg_init_one(&sg, call->crypto_buf, 8);
@@ -773,7 +771,8 @@ static int rxkad_respond_to_challenge(struct rxrpc_connection *conn,
        }
 
        abort_code = RXKADPACKETSHORT;
-       if (skb_copy_bits(skb, sp->offset, &challenge, sizeof(challenge)) < 0)
+       if (skb_copy_bits(skb, sizeof(struct rxrpc_wire_header),
+                         &challenge, sizeof(challenge)) < 0)
                goto protocol_error;
 
        version = ntohl(challenge.version);
@@ -1030,7 +1029,8 @@ static int rxkad_verify_response(struct rxrpc_connection *conn,
        _enter("{%d,%x}", conn->debug_id, key_serial(conn->server_key));
 
        abort_code = RXKADPACKETSHORT;
-       if (skb_copy_bits(skb, sp->offset, &response, sizeof(response)) < 0)
+       if (skb_copy_bits(skb, sizeof(struct rxrpc_wire_header),
+                         &response, sizeof(response)) < 0)
                goto protocol_error;
        if (!pskb_pull(skb, sizeof(response)))
                BUG();
@@ -1059,7 +1059,8 @@ static int rxkad_verify_response(struct rxrpc_connection *conn,
                return -ENOMEM;
 
        abort_code = RXKADPACKETSHORT;
-       if (skb_copy_bits(skb, sp->offset, ticket, ticket_len) < 0)
+       if (skb_copy_bits(skb, sizeof(struct rxrpc_wire_header),
+                         ticket, ticket_len) < 0)
                goto protocol_error_free;
 
        ret = rxkad_decrypt_ticket(conn, ticket, ticket_len, &session_key,