All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: KY Srinivasan <kys@microsoft.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
	"virtualization@lists.osdl.org" <virtualization@lists.osdl.org>,
	"olaf@aepfle.de" <olaf@aepfle.de>,
	"apw@canonical.com" <apw@canonical.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH 03/17] Drivers: hv: kvp: Cleanup error handling in KVP
Date: Wed, 25 Jul 2012 15:47:25 +0100	[thread overview]
Message-ID: <20120725144724.GD1894@decadent.org.uk> (raw)
In-Reply-To: <426367E2313C2449837CD2DE46E7EAF9236A8B61@SN2PRD0310MB382.namprd03.prod.outlook.com>

On Wed, Jul 25, 2012 at 02:10:05PM +0000, KY Srinivasan wrote:
> 
> 
> > -----Original Message-----
> > From: Ben Hutchings [mailto:ben@decadent.org.uk]
> > Sent: Tuesday, July 24, 2012 9:11 PM
> > To: KY Srinivasan
> > Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> > devel@linuxdriverproject.org; virtualization@lists.osdl.org; olaf@aepfle.de;
> > apw@canonical.com; netdev@vger.kernel.org
> > Subject: Re: [PATCH 03/17] Drivers: hv: kvp: Cleanup error handling in KVP
> > 
> > On Tue, 2012-07-24 at 09:01 -0700, K. Y. Srinivasan wrote:
> > > In preparation to implementing IP injection, cleanup the way we propagate
> > > and handle errors both in the driver as well as in the user level daemon.
> > >
> > > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> > > Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
> > > ---
> > >  drivers/hv/hv_kvp.c      |  112 +++++++++++++++++++++++++++++++++++++-
> > --------
> > >  include/linux/hyperv.h   |   17 +++++---
> > >  tools/hv/hv_kvp_daemon.c |   70 +++++++++++++++-------------
> > >  3 files changed, 138 insertions(+), 61 deletions(-)
> > >
> > > diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
> > > index 0012eed..9b7fc4a 100644
> > > --- a/drivers/hv/hv_kvp.c
> > > +++ b/drivers/hv/hv_kvp.c
> > [...]
> > > @@ -109,27 +154,52 @@ kvp_cn_callback(struct cn_msg *msg, struct
> > netlink_skb_parms *nsp)
> > >  {
> > >  	struct hv_kvp_msg *message;
> > >  	struct hv_kvp_msg_enumerate *data;
> > > +	int	error = 0;
> > >
> > >  	message = (struct hv_kvp_msg *)msg->data;
> > > -	switch (message->kvp_hdr.operation) {
> > > +
> > > +	/*
> > > +	 * If we are negotiating the version information
> > > +	 * with the daemon; handle that first.
> > > +	 */
> > > +
> > > +	if (in_hand_shake) {
> > > +		if (kvp_handle_handshake(message))
> > > +			in_hand_shake = false;
> > > +		return;
> > > +	}
> > > +
> > > +	/*
> > > +	 * Based on the version of the daemon, we propagate errors from the
> > > +	 * daemon differently.
> > > +	 */
> > > +
> > > +	data = &message->body.kvp_enum_data;
> > > +
> > > +	switch (dm_reg_value) {
> > >  	case KVP_OP_REGISTER:
> > > -		pr_info("KVP: user-mode registering done.\n");
> > > -		kvp_register();
> > > -		kvp_transaction.active = false;
> > > -		hv_kvp_onchannelcallback(kvp_transaction.kvp_context);
> > > +		/*
> > > +		 * Null string is used to pass back error condition.
> > > +		 */
> > > +		if (!strlen(data->data.key))
> > 
> > Do we know that the key is null-terminated here?  Shouldn't we just
> > check whether data->data.key[0] == 0?
> 
> Yes, currently we do return null string to indicate error.
[...]

So the kernel should assume userland input is always valid?

Ben.

-- 
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
                                                              - Albert Camus

  reply	other threads:[~2012-07-25 14:47 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-24 16:01 [PATCH 00/17] drivers: hv: kvp K. Y. Srinivasan
2012-07-24 15:54 ` Greg KH
2012-07-29 22:50   ` KY Srinivasan
2012-07-29 22:50     ` KY Srinivasan
2012-07-24 16:01 ` [PATCH 01/17] Drivers: hv: vmbus: Use the standard format string to format GUIDs K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 02/17] Drivers: hv: Add KVP definitions for IP address injection K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 03/17] Drivers: hv: kvp: Cleanup error handling in KVP K. Y. Srinivasan
2012-07-24 16:01     ` K. Y. Srinivasan
2012-07-25  1:10     ` Ben Hutchings
2012-07-25 14:10       ` KY Srinivasan
2012-07-25 14:10         ` KY Srinivasan
2012-07-25 14:47         ` Ben Hutchings [this message]
2012-07-25 14:51           ` KY Srinivasan
2012-07-25  7:59     ` Olaf Hering
2012-07-24 16:01   ` [PATCH 04/17] Drivers: hv: kvp: Support the new IP injection messages K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 05/17] Tools: hv: Prepare to expand kvp_get_ip_address() functionality K. Y. Srinivasan
2012-07-24 16:01     ` K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 06/17] Tools: hv: Further refactor kvp_get_ip_address() K. Y. Srinivasan
2012-07-24 16:01     ` K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 07/17] Tools: hv: Gather address family information K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 08/17] Tools: hv: Gather subnet information K. Y. Srinivasan
2012-07-25  1:14     ` Ben Hutchings
2012-07-25 14:10       ` KY Srinivasan
2012-07-25 14:10         ` KY Srinivasan
2012-07-24 16:01   ` [PATCH 09/17] Tools: hv: Represent the ipv6 mask using CIDR notation K. Y. Srinivasan
2012-07-24 16:01     ` K. Y. Srinivasan
2012-07-24 16:01     ` Borislav Petkov
2012-07-24 16:53       ` KY Srinivasan
2012-07-24 16:53         ` KY Srinivasan
2012-07-24 17:08         ` Borislav Petkov
2012-07-24 16:01   ` [PATCH 10/17] Tools: hv: Gather ipv[4,6] gateway information K. Y. Srinivasan
2012-07-24 16:29     ` Stephen Hemminger
2012-07-24 16:53       ` Olaf Hering
2012-07-24 16:56         ` Stephen Hemminger
2012-07-24 18:36           ` Dan Williams
2012-07-24 22:13             ` KY Srinivasan
2012-07-24 22:13               ` KY Srinivasan
2012-07-24 17:17         ` KY Srinivasan
2012-07-24 17:17           ` KY Srinivasan
2012-07-24 16:01   ` [PATCH 11/17] Tools: hv: Gather DNS information K. Y. Srinivasan
2012-07-24 23:38     ` Ben Hutchings
2012-07-24 16:01   ` [PATCH 12/17] Tools: hv: Gather DHCP information K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 13/17] Tools: hv: Implement the KVP verb - KVP_OP_SET_IP_INFO K. Y. Srinivasan
2012-07-25  1:24     ` Ben Hutchings
2012-07-25  1:24       ` Ben Hutchings
2012-07-25 14:48       ` KY Srinivasan
2012-07-25 14:48         ` KY Srinivasan
2012-07-30 17:33     ` Olaf Hering
2012-07-30 17:33       ` Olaf Hering
2012-07-30 19:12       ` KY Srinivasan
2012-07-30 19:12         ` KY Srinivasan
2012-07-30 18:03     ` Olaf Hering
2012-07-30 18:32       ` KY Srinivasan
2012-07-30 18:32         ` KY Srinivasan
2012-07-30 19:19         ` Ben Hutchings
2012-07-31 10:34           ` KY Srinivasan
2012-07-31 10:34             ` KY Srinivasan
2012-07-24 16:01   ` [PATCH 14/17] Tools: hv: Rename the function kvp_get_ip_address() K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 15/17] Tools: hv: Implement the KVP verb - KVP_OP_GET_IP_INFO K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 16/17] Tools: hv: Get rid of some unused variables K. Y. Srinivasan
2012-07-24 16:01   ` [PATCH 17/17] Tools: hv: Correctly type string variables K. Y. Srinivasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120725144724.GD1894@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=apw@canonical.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olaf@aepfle.de \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.