Re: [PATCH 1/4] nvdimm: Add wrapper for IOCTL pass thru.

From: Jeff Moyer
Date: Tue Nov 10 2015 - 12:52:07 EST


Jerry Hoemann <jerry.hoemann@xxxxxxx> writes:

> Add IOCTL type 'P' to denote NVDIMM_TYPE_PASSTHRU.

Can't you just make passthrough a separate command? If you actually add
the ioctl definition for passthrough (which you didn't do for some
reason?), it looks odd:

#define ND_IOCTL_PASSTHRU _IOWR(NVDIMM_TYPE_PASSTHRU,, ND_CMD_PASSTHRU, \
struct ndn_package)

Care to comment on why you chose a different type instead of specifying
a new command?

> +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 *.

Note that the size of this structure will be different for 32 vs. 64
bit, but I don't think it matters since offsets won't change (the
pointer is at the end of the structure).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/