lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 22 Aug 2016 02:48:18 +0000
From:   "Sell, Timothy C" <Timothy.Sell@...sys.com>
To:     'Greg KH' <gregkh@...uxfoundation.org>
CC:     "corbet@....net" <corbet@....net>,
        "tglx@...utronix.de" <tglx@...utronix.de>,
        "mingo@...hat.com" <mingo@...hat.com>,
        "hpa@...or.com" <hpa@...or.com>,
        "Arfvidson, Erik" <Erik.Arfvidson@...sys.com>,
        "Sell, Timothy C" <Timothy.Sell@...sys.com>,
        "hofrat@...dl.org" <hofrat@...dl.org>,
        "dzickus@...hat.com" <dzickus@...hat.com>,
        "jes.sorensen@...hat.com" <jes.sorensen@...hat.com>,
        "Curtin, Alexander Paul" <Alexander.Curtin@...sys.com>,
        "janani.rvchndrn@...il.com" <janani.rvchndrn@...il.com>,
        "sudipm.mukherjee@...il.com" <sudipm.mukherjee@...il.com>,
        "prarit@...hat.com" <prarit@...hat.com>,
        "Binder, David Anthony" <David.Binder@...sys.com>,
        "nhorman@...hat.com" <nhorman@...hat.com>,
        "dan.j.williams@...el.com" <dan.j.williams@...el.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
        "driverdev-devel@...uxdriverproject.org" 
        <driverdev-devel@...uxdriverproject.org>,
        *S-Par-Maintainer <SParMaintainer@...sys.com>,
        "Kershner, David A" <David.Kershner@...sys.com>
Subject: RE: [PATCH 3/3] drivers: Add visorbus to the drivers/virt directory

> -----Original Message-----
> From: Greg KH [mailto:gregkh@...uxfoundation.org]
> Sent: Sunday, August 21, 2016 2:05 PM
> To: Kershner, David A <David.Kershner@...sys.com>
> Cc: corbet@....net; tglx@...utronix.de; mingo@...hat.com;
> hpa@...or.com; Arfvidson, Erik <Erik.Arfvidson@...sys.com>; Sell, Timothy
> C <Timothy.Sell@...sys.com>; hofrat@...dl.org; dzickus@...hat.com;
> jes.sorensen@...hat.com; Curtin, Alexander Paul
> <Alexander.Curtin@...sys.com>; janani.rvchndrn@...il.com;
> sudipm.mukherjee@...il.com; prarit@...hat.com; Binder, David Anthony
> <David.Binder@...sys.com>; nhorman@...hat.com;
> dan.j.williams@...el.com; linux-kernel@...r.kernel.org; linux-
> doc@...r.kernel.org; driverdev-devel@...uxdriverproject.org; *S-Par-
> Maintainer <SParMaintainer@...sys.com>
> Subject: Re: [PATCH 3/3] drivers: Add visorbus to the drivers/virt directory
> 
> On Fri, Jun 10, 2016 at 11:23:56PM -0400, David Kershner wrote:
> > visorbus is currently located at drivers/staging/visorbus,
> > this patch moves it to drivers/virt.
> >
> > Signed-off-by: David Kershner <david.kershner@...sys.com>
> > Reviewed-by: Tim Sell <Timothy.Sell@...sys.com>
> > ---
> >  drivers/staging/unisys/Kconfig                                        | 3 +--
> >  drivers/staging/unisys/Makefile                                       | 1 -
> >  drivers/virt/Kconfig                                                  | 2 ++
> >  drivers/virt/Makefile                                                 | 1 +
> >  drivers/{staging/unisys => virt}/visorbus/Kconfig                     | 0
> >  drivers/{staging/unisys => virt}/visorbus/Makefile                    | 0
> >  drivers/{staging/unisys => virt}/visorbus/controlvmchannel.h          | 0
> >  drivers/{staging/unisys => virt}/visorbus/controlvmcompletionstatus.h | 0
> >  drivers/{staging/unisys => virt}/visorbus/iovmcall_gnuc.h             | 0
> >  drivers/{staging/unisys => virt}/visorbus/vbuschannel.h               | 0
> >  drivers/{staging/unisys => virt}/visorbus/vbusdeviceinfo.h            | 0
> >  drivers/{staging/unisys => virt}/visorbus/vbushelper.h                | 0
> >  drivers/{staging/unisys => virt}/visorbus/visorbus_main.c             | 0
> >  drivers/{staging/unisys => virt}/visorbus/visorbus_private.h          | 0
> >  drivers/{staging/unisys => virt}/visorbus/visorchannel.c              | 0
> >  drivers/{staging/unisys => virt}/visorbus/visorchipset.c              | 0
> 
> I picked one random file here, this last one, and found a number of
> "odd" things in it.
> 
> So, given that I can't really comment on the patch itself, I'm going to
> include the file below, quote it, and then provide some comments, ok?
> > /* visorchipset_main.c
> > ...
> > static void
> > controlvm_init_response(struct controlvm_message *msg,
> > 			struct controlvm_message_header *msg_hdr, int response)
> > {
> > 	memset(msg, 0, sizeof(struct controlvm_message));
> > 	memcpy(&msg->hdr, msg_hdr, sizeof(struct controlvm_message_header));
> > 	msg->hdr.payload_bytes = 0;
> > 	msg->hdr.payload_vm_offset = 0;
> > 	msg->hdr.payload_max_bytes = 0;
> > 	if (response < 0) {
> > 		msg->hdr.flags.failed = 1;
> > 		msg->hdr.completion_status = (u32)(-response);
> > 	}
> > }
> > 
> > static void
> > Billy(struct controlvm_message_header *msg_hdr, int response)
> 
> Not John?  Bob?  Sally?  Alice?  Bernise?  Jean?  Molly?

Huh? What version of source code are you looking at??

The file being moved by this patch should be
drivers/staging/unisys/visorbus/visorchipset.c in your staging-next branch  
(https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/unisys/visorbus/visorchipset.c?h=staging-next).
If you look there, you will NOT find "Billy()", but instead "controlvm_respond()", i.e.:

static void
controlvm_init_response(struct controlvm_message *msg,
			struct controlvm_message_header *msg_hdr, int response)
{
	memset(msg, 0, sizeof(struct controlvm_message));
	memcpy(&msg->hdr, msg_hdr, sizeof(struct controlvm_message_header));
	msg->hdr.payload_bytes = 0;
	msg->hdr.payload_vm_offset = 0;
	msg->hdr.payload_max_bytes = 0;
	if (response < 0) {
		msg->hdr.flags.failed = 1;
		msg->hdr.completion_status = (u32)(-response);
	}
}

static void
controlvm_respond(struct controlvm_message_header *msg_hdr, int response)
{
	struct controlvm_message outmsg;

	controlvm_init_response(&outmsg, msg_hdr, response);
	if (outmsg.hdr.flags.test_message == 1)
		return;

	if (!visorchannel_signalinsert(controlvm_channel,
				       CONTROLVM_QUEUE_REQUEST, &outmsg)) {
		return;
	}
}

One (or both) of us is confused.

Tim Sell

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ