Re: [PATCH] misc: ibmvsm: Fix wrong assignment of return code

From: Michael Ellerman
Date: Tue Aug 07 2018 - 08:28:52 EST


"Bryant G. Ly" <bryantly@xxxxxxxxxxxxxxxxxx> writes:

> From: "Bryant G. Ly" <bryantly@xxxxxxxxxxxxx>
>
> Currently the assignment is flipped and rc is always 0.

If you'd left rc uninitialised at the start of the function the compiler
would have caught it for you.

And what is the consequence of the bug? Nothing, complete system crash,
subtle data corruption?

Also this should be tagged:

Fixes: 0eca353e7ae7 ("misc: IBM Virtual Management Channel Driver (VMC)")

cheers

> diff --git a/drivers/misc/ibmvmc.c b/drivers/misc/ibmvmc.c
> index 8f82bb9..b8aaa68 100644
> --- a/drivers/misc/ibmvmc.c
> +++ b/drivers/misc/ibmvmc.c
> @@ -2131,7 +2131,7 @@ static int ibmvmc_init_crq_queue(struct crq_server_adapter *adapter)
> retrc = plpar_hcall_norets(H_REG_CRQ,
> vdev->unit_address,
> queue->msg_token, PAGE_SIZE);
> - retrc = rc;
> + rc = retrc;
>
> if (rc == H_RESOURCE)
> rc = ibmvmc_reset_crq_queue(adapter);