RE: [PATCH v2] Drivers: vmbus: Check for channel allocation before looking up relids

From: Dexuan Cui
Date: Fri Feb 17 2023 - 01:25:35 EST


> From: Mohammed Gamal <mgamal@xxxxxxxxxx>
> Sent: Tuesday, February 14, 2023 3:28 AM
> ...
> So Make relid2channel() check if vmbus channels is allocated first, and if not
> print a warning and return NULL to the caller.
Can we change the above to:

Print a warning and error out in relid2channel() for a channel id that's invalid
in the second kernel.

> --- a/drivers/hv/connection.c
> +++ b/drivers/hv/connection.c
> @@ -409,6 +409,10 @@ void vmbus_disconnect(void)
> */
> struct vmbus_channel *relid2channel(u32 relid)
> {
> + if (vmbus_connection.channels == NULL) {
> + WARN(1, "Requested relid=%u, but channel mapping not
> allocated!\n", relid);

WARN() may be too noisy. I suggest we use pr_warn() instead.

Can we make the line a little shorter:
pr_warn("relid2channel: invalid channel id %u\n", relid);