Dexuan Cui <decui@xxxxxxxxxxxxx> writes: >> 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); > I'd even suggest to make it pr_warn_once() to be safe. In theory, vmbus_chan_sched() call site looks like it can create a lot of noise. -- Vitaly