mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/1] Drivers: hv: vmbus: Don't leak channel ids
@ 2017-03-13 22:57 kys
  2017-03-14 12:49 ` Dexuan Cui
  0 siblings, 1 reply; 3+ messages in thread
From: kys @ 2017-03-13 22:57 UTC (permalink / raw)
  To: gregkh, linux-kernel, devel, olaf, apw, vkuznets, jasowang,
	leann.ogasawara, marcelo.cerri
  Cc: K. Y. Srinivasan, stable

From: K. Y. Srinivasan <kys@microsoft.com>

If we cannot allocate memory for the channel, free the relid
associated with the channel.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Cc: <stable@vger.kernel.org>
---
 drivers/hv/channel_mgmt.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index e1a3ae4..0a85246 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -802,6 +802,7 @@ static void vmbus_onoffer(struct vmbus_channel_message_header *hdr)
 	/* Allocate the channel object and save this offer. */
 	newchannel = alloc_channel();
 	if (!newchannel) {
+		vmbus_release_relid(offer->child_relid);
 		pr_err("Unable to allocate channel object\n");
 		return;
 	}
-- 
1.7.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH 1/1] Drivers: hv: vmbus: Don't leak channel ids
  2017-03-13 22:57 [PATCH 1/1] Drivers: hv: vmbus: Don't leak channel ids kys
@ 2017-03-14 12:49 ` Dexuan Cui
  2017-03-14 14:33   ` KY Srinivasan
  0 siblings, 1 reply; 3+ messages in thread
From: Dexuan Cui @ 2017-03-14 12:49 UTC (permalink / raw)
  To: KY Srinivasan, gregkh, linux-kernel, devel, olaf, apw, vkuznets,
	jasowang, leann.ogasawara, marcelo.cerri
  Cc: stable

> From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
> owner@vger.kernel.org] On Behalf Of kys@exchange.microsoft.com
> 
> diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
> index e1a3ae4..0a85246 100644
> --- a/drivers/hv/channel_mgmt.c
> +++ b/drivers/hv/channel_mgmt.c
> @@ -802,6 +802,7 @@ static void vmbus_onoffer(struct
> vmbus_channel_message_header *hdr)
>         /* Allocate the channel object and save this offer. */
>         newchannel = alloc_channel();
>         if (!newchannel) {
> +               vmbus_release_relid(offer->child_relid);
>                 pr_err("Unable to allocate channel object\n");
>                 return;
>         }

The patch seems good.

BTW,  vmbus_onoffer -> alloc_channel is only called in the workqueue
context, so maybe we should change the atomic kzalloc in alloc_channel
to GFP_KERNEL?

Thanks,
-- Dexuan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH 1/1] Drivers: hv: vmbus: Don't leak channel ids
  2017-03-14 12:49 ` Dexuan Cui
@ 2017-03-14 14:33   ` KY Srinivasan
  0 siblings, 0 replies; 3+ messages in thread
From: KY Srinivasan @ 2017-03-14 14:33 UTC (permalink / raw)
  To: Dexuan Cui, gregkh, linux-kernel, devel, olaf, apw, vkuznets,
	jasowang, leann.ogasawara, marcelo.cerri
  Cc: stable



> -----Original Message-----
> From: Dexuan Cui
> Sent: Tuesday, March 14, 2017 5:49 AM
> To: KY Srinivasan <kys@microsoft.com>; gregkh@linuxfoundation.org; linux-
> kernel@vger.kernel.org; devel@linuxdriverproject.org; olaf@aepfle.de;
> apw@canonical.com; vkuznets@redhat.com; jasowang@redhat.com;
> leann.ogasawara@canonical.com; marcelo.cerri@canonical.com
> Cc: stable@vger.kernel.org
> Subject: RE: [PATCH 1/1] Drivers: hv: vmbus: Don't leak channel ids
> 
> > From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
> > owner@vger.kernel.org] On Behalf Of kys@exchange.microsoft.com
> >
> > diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
> > index e1a3ae4..0a85246 100644
> > --- a/drivers/hv/channel_mgmt.c
> > +++ b/drivers/hv/channel_mgmt.c
> > @@ -802,6 +802,7 @@ static void vmbus_onoffer(struct
> > vmbus_channel_message_header *hdr)
> >         /* Allocate the channel object and save this offer. */
> >         newchannel = alloc_channel();
> >         if (!newchannel) {
> > +               vmbus_release_relid(offer->child_relid);
> >                 pr_err("Unable to allocate channel object\n");
> >                 return;
> >         }
> 
> The patch seems good.
> 
> BTW,  vmbus_onoffer -> alloc_channel is only called in the workqueue
> context, so maybe we should change the atomic kzalloc in alloc_channel
> to GFP_KERNEL?

No; this will introduce potential reordering of execution. I am working on rescind handling
where, we need to ensure temporal ordering of events until the channel is created.

K. Y
> 
> Thanks,
> -- Dexuan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-14 14:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-13 22:57 [PATCH 1/1] Drivers: hv: vmbus: Don't leak channel ids kys
2017-03-14 12:49 ` Dexuan Cui
2017-03-14 14:33   ` KY Srinivasan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®