mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 17:03:47 -04:00
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: Lidza Louina <lidza.louina@oracle.com> Acked-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
423b09b8f4
commit
db3c16cdde
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user