Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754088AbbLIOYi (ORCPT ); Wed, 9 Dec 2015 09:24:38 -0500 Received: from mga11.intel.com ([192.55.52.93]:7193 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751643AbbLIOYg (ORCPT ); Wed, 9 Dec 2015 09:24:36 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,403,1444719600"; d="scan'208";a="615192721" Date: Wed, 9 Dec 2015 16:24:20 +0200 From: Jarkko Sakkinen To: Mimi Zohar Cc: David Howells , Peter Huewe , Marcel Selhorst , Jonathan Corbet , Jason Gunthorpe , James Morris , "Serge E. Hallyn" , "open list:KEYS-ENCRYPTED" , "open list:KEYS-ENCRYPTED" , "open list:DOCUMENTATION" , open list , "moderated list:TPM DEVICE DRIVER" Subject: Re: [PATCH 2/2] keys, trusted: seal with a policy Message-ID: <20151209142420.GA8300@intel.com> References: <1447777643-10777-1-git-send-email-jarkko.sakkinen@linux.intel.com> <1447777643-10777-3-git-send-email-jarkko.sakkinen@linux.intel.com> <20151118070339.GA4942@intel.com> <20151207091202.GA15701@intel.com> <20151208110102.GA12339@intel.com> <20151208202423.GA4232@intel.com> <1449618977.2937.104.camel@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449618977.2937.104.camel@linux.vnet.ibm.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2983 Lines: 74 On Tue, Dec 08, 2015 at 06:56:17PM -0500, Mimi Zohar wrote: > On Tue, 2015-12-08 at 22:24 +0200, Jarkko Sakkinen wrote: > > On Tue, Dec 08, 2015 at 01:01:02PM +0200, Jarkko Sakkinen wrote: > > > On Tue, Dec 08, 2015 at 09:35:05AM +1100, James Morris wrote: > > > > On Mon, 7 Dec 2015, Jarkko Sakkinen wrote: > > > > > > > > > On Fri, Nov 20, 2015 at 01:34:35PM +1100, James Morris wrote: > > > > > > On Wed, 18 Nov 2015, Jarkko Sakkinen wrote: > > > > > > > > > > > > > On Wed, Nov 18, 2015 at 11:21:01AM +1100, James Morris wrote: > > > > > > > > On Tue, 17 Nov 2015, Jarkko Sakkinen wrote: > > > > > > > > > > > > > > > > > } > > > > > > > > > break; > > > > > > > > > + case Opt_policydigest: > > > > > > > > > + if (!tpm2 || > > > > > > > > > + strlen(args[0].from) != (2 * opt->digest_len)) > > > > > > > > > + return -EINVAL; > > > > > > > > > + kfree(opt->policydigest); > > > > > > > > > + opt->policydigest = kzalloc(opt->digest_len, > > > > > > > > > + GFP_KERNEL); > > You're allocating the exact amount of storage needed. There's no reason > to use kzalloc here or elsewhere in the patch. Yup. I'll change this. > > > > > > > > > > > > > > > > Is it correct to kfree opt->policydigest here before allocating it? > > > > > > > > > > > > > > I think so. The same option might be encountered multiple times. > > > > > > > > > > > > This would surely signify an error? > > > > > > > > > > I'm following the semantics of other options. That's why I implemented > > > > > it that way for example: > > > > > > > > > > keyctl add trusted kmk "new 32 keyhandle=0x80000000 keyhandle=0x80000000" > > > > > > > > > > is perfectly OK. I just thought that it'd be more odd if this option > > > > > behaved in a different way... > > > > > > > > It seems broken to me -- if you're messing up keyctl commands you might > > > > want to know about it, but we should remain consistent. > > > > > > So should I return error if policyhandle/digest appears a second time? I > > > agree that it'd be better to return -EINVAL. > > > > > > The existing behavior is such that any option can appear multiple times > > > and I chose to be consistent with that. > > > > Mimi, David? > > I don't have a problem with changing the existing behavior to allow the > options to be specified only once. I don't think this patch is right place to change the behavior as it should be done for other options too. > BTW, you might want to fail the getoptions() parsing earlier, rather > than waiting until after the while loop to test "policydigest_len != > opt->digest_len". In both Opt_hash and Opt_policydigest you can check > to see if the other option has already been specified. Agreed. > Mimi /Jarkko -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/