Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932331AbcLYOnW (ORCPT ); Sun, 25 Dec 2016 09:43:22 -0500 Received: from jbeekman.nl ([149.210.172.151]:33659 "EHLO daxilon.jbeekman.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752426AbcLYOnV (ORCPT ); Sun, 25 Dec 2016 09:43:21 -0500 X-Greylist: delayed 1638 seconds by postgrey-1.27 at vger.kernel.org; Sun, 25 Dec 2016 09:43:20 EST To: Scott Bauer , linux-nvme@lists.infradead.org References: <1482176149-2257-1-git-send-email-scott.bauer@intel.com> <1482176149-2257-2-git-send-email-scott.bauer@intel.com> Cc: Rafael.Antognolli@intel.com, axboe@fb.com, keith.busch@intel.com, jonathan.derrick@intel.com, viro@zeniv.linux.org.uk, hch@infradead.org, linux-kernel@vger.kernel.org, sagi@grimberg.me From: Jethro Beekman Message-ID: <26b9c96f-99ae-6669-5cbe-bff563e20255@jbeekman.nl> Date: Sun, 25 Dec 2016 15:15:53 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 MIME-Version: 1.0 In-Reply-To: <1482176149-2257-2-git-send-email-scott.bauer@intel.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 77.174.21.92 X-SA-Exim-Mail-From: kernel@jbeekman.nl X-Spam-Report: Content analysis details: (-1.0 points, 5.0 required) pts rule name description --- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP Subject: Re: [PATCH v3 1/5] include: Add definitions for sed Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2097 Lines: 57 On 19-12-16 20:35, Scott Bauer wrote: > diff --git a/include/linux/sed.h b/include/linux/sed.h > > +/* > + * These constant values come from: > + * TCG Storage Architecture Core Spec v2.01 r1 > + * Section: 3.3 Interface Communications > + */ > +enum { > + TCG_SECP_00 = 0, Protocol 0 is not defined by TCG. Perhaps you should reference SPC-4 section 6.30 SECURITY PROTOCOL IN command / table 265. > diff --git a/include/uapi/linux/sed.h b/include/uapi/linux/sed.h > > +enum sed_key_type { > + OPAL, > + OPAL_PW, > + OPAL_ACT_USR, > + OPAL_LR_SETUP, > + OPAL_LOCK_UNLOCK, > + OPAL_MBR_DATA, > +}; > + > +struct sed_key { > + __u32 sed_type; > + union { > + struct opal_key opal; > + struct opal_new_pw opal_pw; > + struct opal_session_info opal_session; > + struct opal_user_lr_setup opal_lrs; > + struct opal_lock_unlock opal_lk_unlk; > + struct opal_mbr_data opal_mbr; > + /* additional command set key types */ > + }; > +}; > + > +#define IOC_SED_SAVE _IOW('p', 220, struct sed_key) > +#define IOC_SED_LOCK_UNLOCK _IOW('p', 221, struct sed_key) > +#define IOC_SED_TAKE_OWNERSHIP _IOW('p', 222, struct sed_key) > +#define IOC_SED_ACTIVATE_LSP _IOW('p', 223, struct sed_key) > +#define IOC_SED_SET_PW _IOW('p', 224, struct sed_key) > +#define IOC_SED_ACTIVATE_USR _IOW('p', 225, struct sed_key) > +#define IOC_SED_REVERT_TPR _IOW('p', 226, struct sed_key) > +#define IOC_SED_LR_SETUP _IOW('p', 227, struct sed_key) > +#define IOC_SED_ADD_USR_TO_LR _IOW('p', 228, struct sed_key) > +#define IOC_SED_ENABLE_DISABLE_MBR _IOW('p', 229, struct sed_key) > +#define IOC_SED_ERASE_LR _IOW('p', 230, struct sed_key) > +#define IOC_SED_SECURE_ERASE_LR _IOW('p', 231, struct sed_key) I'm slightly confused by the split between SED-generic and OPAL-specific files here. Maybe I'm misunderstanding the intent of these ioctls. I think SED means "possible any drive supporting the security command set". Therefore these definitions (quoted) should have OPAL names and live in an OPAL header. Jethro