Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db3c16cd authored by Lidza Louina's avatar Lidza Louina Committed by Greg Kroah-Hartman
Browse files

staging/lustre/ptlrpc: Removes potential null dereference



The lustre_msg_buf method could return NULL. Subsequent code didn't
check if it's null before using it. This patch adds two checks.

Signed-off-by: default avatarLidza Louina <lidza.louina@oracle.com>
Acked-by: default avatarOleg Drokin <oleg.drokin@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 423b09b8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2196,6 +2196,9 @@ int sptlrpc_pack_user_desc(struct lustre_msg *msg, int offset)

	pud = lustre_msg_buf(msg, offset, 0);

	if (!pud)
		return -EINVAL;

	pud->pud_uid = from_kuid(&init_user_ns, current_uid());
	pud->pud_gid = from_kgid(&init_user_ns, current_gid());
	pud->pud_fsuid = from_kuid(&init_user_ns, current_fsuid());
+6 −2
Original line number Diff line number Diff line
@@ -574,8 +574,12 @@ int plain_alloc_reqbuf(struct ptlrpc_sec *sec,
	lustre_init_msg_v2(req->rq_reqbuf, PLAIN_PACK_SEGMENTS, buflens, NULL);
	req->rq_reqmsg = lustre_msg_buf(req->rq_reqbuf, PLAIN_PACK_MSG_OFF, 0);

	if (req->rq_pack_udesc)
		sptlrpc_pack_user_desc(req->rq_reqbuf, PLAIN_PACK_USER_OFF);
	if (req->rq_pack_udesc) {
		int rc = sptlrpc_pack_user_desc(req->rq_reqbuf,
					      PLAIN_PACK_USER_OFF);
		if (rc < 0)
			return rc;
	}

	return 0;
}