Commit 160f4044 authored by Chuck Lever's avatar Chuck Lever Committed by Jakub Kicinski
Browse files

handshake: Fix sign of key_serial_t fields



key_serial_t fields are signed integers. Use nla_get/put_s32 for
those to avoid implicit signed conversion in the netlink protocol.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/169530167716.8905.645746457741372879.stgit@oracle-102.nfsv4bat.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a6b07a51
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -34,10 +34,10 @@ attribute-sets:
    attributes:
      -
        name: cert
        type: u32
        type: s32
      -
        name: privkey
        type: u32
        type: s32
  -
    name: accept
    attributes:
+2 −2
Original line number Diff line number Diff line
@@ -173,9 +173,9 @@ static int tls_handshake_put_certificate(struct sk_buff *msg,
	if (!entry_attr)
		return -EMSGSIZE;

	if (nla_put_u32(msg, HANDSHAKE_A_X509_CERT,
	if (nla_put_s32(msg, HANDSHAKE_A_X509_CERT,
			treq->th_certificate) ||
	    nla_put_u32(msg, HANDSHAKE_A_X509_PRIVKEY,
	    nla_put_s32(msg, HANDSHAKE_A_X509_PRIVKEY,
			treq->th_privkey)) {
		nla_nest_cancel(msg, entry_attr);
		return -EMSGSIZE;
+2 −2
Original line number Diff line number Diff line
@@ -28,8 +28,8 @@ struct handshake_x509 {
		__u32 privkey:1;
	} _present;

	__u32 cert;
	__u32 privkey;
	__s32 cert;
	__s32 privkey;
};

/* ============== HANDSHAKE_CMD_ACCEPT ============== */