From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: Jeff Moyer <jmoyer@redhat.com>
Cc: ross.zwisler@linux.intel.com, rjw@rjwysocki.net, lenb@kernel.org,
dan.j.williams@intel.com, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-nvdimm@ml01.01.org
Subject: Re: [PATCH 1/4] nvdimm: Add wrapper for IOCTL pass thru.
Date: Tue, 10 Nov 2015 17:44:25 -0700 [thread overview]
Message-ID: <20151111004425.GG47666@tevye.fc.hp.com> (raw)
In-Reply-To: <x49oaf1k3cx.fsf@segfault.boston.devel.redhat.com>
On Tue, Nov 10, 2015 at 03:26:38PM -0500, Jeff Moyer wrote:
> >
> > The definition for the IOCTLs are in a user space application.
> > These aren't required in the kernel as the kernel is only a
> > pass thru.
>
> OK, I don't see the harm in including it in the kernel headers, but I'm
> not going to insist on it.
>
The IOCTL are defined in terms of the data structures representing
the dsm functions. Since I'm not supposed to share the definitions
of the DSM at this point, I can't share the IOCTL definitions.
When this restriction is lifted, I would be interested in pushing
these definitions to the appropriate header file.
> > As the DSM I'm working with isn't yet finalized, I've been told that
> > i can't share the user space portion yet.
>
> That's OK, I don't think providing the userspace code is necessary for
> this patch set to make progress. (I didn't actually ask for it, to be
> clear.)
Understood. But it is sometimes nice to have a concrete example(s)
of an interfaces usage.
...
> >> > +struct ndn_pkg {
> >> > + struct {
> >> > + __u8 dsm_uuid[16];
> >> > + __u32 dsm_in; /* size of _DSM input */
> >> > + __u32 dsm_out; /* size of user buffer */
> >> > + __u32 dsm_rev; /* revision of dsm call */
> >> > + __u32 res[8]; /* reserved must be zero */
> >> > + __u32 dsm_size; /* size _DSM would write */
> >> > + } h;
> >> > + unsigned char buf[];
> >>
> >> Please change that to:
> >> __u8 *buf;
> >> since acpi_object.buffer.pointer is a u8 *.
> >
> > buf isn't being passed to acpi_evaluate_dsm. its just being used for pointer offset
> > in acpi_nfit_ctl_passthru. The "payload" that will be passed to acpi_evaluate_dsm
> > follows.
>
> + in_buf.buffer.pointer = (void *) &pkg->buf;
>
> I see. I misread that, because you didn't actually make buf a zero
> length array (see the structure definition quoted above). I guess you
> meant to write this:
>
> unsigned char buf[0];
>
The ndn_pkg.buf struct uses a flexible array definition. This is in C99.
An explicit zero length array is a gcc extension that has been around much
longer. They behave in a similar fashion, but aren't identical. In my
limited use they behave the same.
--
-----------------------------------------------------------------------------
Jerry Hoemann Software Engineer Hewlett-Packard Enterprise
-----------------------------------------------------------------------------
next prev parent reply other threads:[~2015-11-11 0:44 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-06 22:27 [PATCH 0/4] nvdimm: Add an IOCTL pass thru for DSM calls Jerry Hoemann
2015-11-06 22:27 ` Jerry Hoemann
2015-11-06 22:27 ` [PATCH 1/4] nvdimm: Add wrapper for IOCTL pass thru Jerry Hoemann
2015-11-06 22:27 ` Jerry Hoemann
2015-11-10 17:51 ` Jeff Moyer
2015-11-10 18:05 ` Dan Williams
2015-11-10 19:49 ` Jerry Hoemann
2015-11-10 20:26 ` Jeff Moyer
2015-11-11 0:44 ` Jerry Hoemann [this message]
2015-11-11 0:49 ` Dan Williams
2015-11-11 15:47 ` Jeff Moyer
2015-11-10 20:27 ` Dan Williams
2015-11-10 20:53 ` Linda Knippers
2015-11-10 22:20 ` Dan Williams
2015-11-10 19:04 ` Elliott, Robert (Persistent Memory)
2015-11-10 19:04 ` Elliott, Robert (Persistent Memory)
2015-11-10 21:25 ` Jerry Hoemann
2015-11-10 21:25 ` Jerry Hoemann
2015-11-06 22:27 ` [PATCH 2/4] nvdimm: Add " Jerry Hoemann
2015-11-06 22:27 ` Jerry Hoemann
2015-11-10 18:05 ` Jeff Moyer
2015-11-10 22:13 ` Jerry Hoemann
2015-11-11 15:41 ` Jeff Moyer
2015-11-06 22:27 ` [PATCH 3/4] " Jerry Hoemann
2015-11-06 22:27 ` Jerry Hoemann
2015-11-10 16:24 ` Jeff Moyer
2015-11-10 21:36 ` Jerry Hoemann
2015-11-10 21:45 ` Jeff Moyer
2015-11-10 22:15 ` Jerry Hoemann
2015-11-10 21:54 ` Jeff Moyer
2015-11-11 1:42 ` Jerry Hoemann
2015-11-06 22:27 ` [PATCH 4/4] nvdimm: rename functions that aren't IOCTL passthru Jerry Hoemann
2015-11-06 22:27 ` Jerry Hoemann
2015-11-10 15:33 ` [PATCH 0/4] nvdimm: Add an IOCTL pass thru for DSM calls Jeff Moyer
2015-11-10 21:39 ` Jerry Hoemann
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=20151111004425.GG47666@tevye.fc.hp.com \
--to=jerry.hoemann@hpe.com \
--cc=dan.j.williams@intel.com \
--cc=jmoyer@redhat.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvdimm@ml01.01.org \
--cc=rjw@rjwysocki.net \
--cc=ross.zwisler@linux.intel.com \
/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.