Darren J Moffat wrote:
> Anthony Scarpino wrote:
>   
>> Concern:
>>
>> I'm a bit confused here please tell me if I am wrong in my understanding 
>> of the code...  Previously the modules and supported mechanism list was 
>> in kcf.conf.  Now I see the config in the kernel.  If we add a new 
>> module or mechanism to an existing module, we need to update kcf 
>> kcf_soft_config_init)?  Or is there a chicken and egg problem that I 
>> don't see, and after everything is loaded the support list will be 
>> coming from the module?  My initial reaction is we've shift the 
>> configuration burden from userland to kernel instead of eliminating most 
>> of the burden..
>>     
>
> The burden has moved to updating kcf but when we add new modes we update 
> kcf anyway because that is where the modes code is (Nylon).
>
> The reason for moving all this config out of kcf.conf is so that we 
> don't have to edit kcf.conf via class action scripts or SMF services or 
> bfu on upgrade because is it very painful to do so and will get even 
> more painful when we switch to IPS.  It also has the very anoying 
> property to causing a very hard to debug problem, cryptoadm shows that a 
> kernel software provider provides a mechanism, eg AES_CCM, but kcf.conf 
> doesn't have it listed so it doesn't work.   That could still happen if 
> someone adds a mode and forgets to update kcf_soft_config_init.
>
> Ideally we wouldn't have to hard code any of this and software providers 
> could act just like hardware ones and supply kcf with the list that they 
> support.
>
> I see this fix as an interim step towards that since I believe we need a 
> bigger project to address the distinctions between software and hardware 
>   providers going forward.  Particularly given that in the future many 
> of our providers may actually be "hybrid" and the software/hardware 
> distinction isn't actually that interesting.  There is also the problem 
> of only allowing a mechanism from a single software provider at the 
> moment a restriction we don't have on hardware providers.
>   
I agree that Dan's changes are a good first step.

That next step:
1. Putting just the names of software providers in the kcf module and 
calling
   ddi_modopen/ddi_modclose to get the mechanisms.

2. Or doing [1] for all modules in /kernel/crypto and filtering out 
hardware providers.

> None of the userland changes that Dan has done would be wasted by a 
> future change in how we deal with providers and in fact this is really 
> the most important part of the change.
>
>   


Reply via email to