[illumos-Developer] webrev: removal of closed kcfd
Garrett D'Amore
garrett at nexenta.com
Mon Sep 6 20:25:44 PDT 2010
On Mon, 2010-09-06 at 19:40 -0400, Richard Lowe wrote:
> Garrett D'Amore wrote:
> > http://mexico.purplecow.org/gdamore/webrev/nokcfd/
>
> general:
>
> - Is there any worth in leaving FIPS support sufficient to lock out
> non-FIPS algorithms and modes, run the self-tests, and just not do
> module verification? I appreciate that's not compliant, but is it
> useful?
>
> You and I had discussed this offline, and mostly thought "No", since
> the value of FIPS is solely the certification.
Right. Generally, any new effort to redo FIPS would need to consider
many many issues, and might wind up taking a substantially different
path depending on what their goals are (what FIPS level, what crypto
boundary, etc.)
I think it would be very bad to offer any kind of "pseudo" FIPS, since
it clearly would not even fit the most basic design tenets of FIPS 140-2
without some kind of verified cryptographic infrastructure. Without
module verification, quasi FIPS support is utterly pointless, IMO.
> - Is the FIPS removal a simple backout of its introduction (and
> subsequent). Or done some other way?
It was done the "hard way", since I was also removing the module signing
at the same time, and there were shared bits.
>
> (I'm looking for an indication it's suitably complete)
In fact, I left some of the fips stuff (the "self-test" algorithm
support) in, because they are likely to be useful to future efforts.
However, I'm willing to remove that if other folks want to see the
currently-not-used code removed.
>
> - Did you test that priocntl, pbind, etc, function on your process?
Good question. Answer: No. In fact, I haven't really tested the
process logic at all. All I've done is verify that the lwps are present
in PS. :-) I still need to test the actual kernel crypto code. I would
very much welcome concrete testing suggestions or help.
>
> usr/src/cmd/cmd-crypto/cryptoadm/cryptoadm.c:1211,1212:
>
> nit: Self evident.
Go back and reread the comment. It says "used to" .. as in, not any
more.
>
> usr/src/cmd/cmd-crypto/cryptoadm/cryptoadm.h:40
>
> Should no longer be necessary
Accepted.
>
> usr/src/uts/common/crypto/core/kcf.c:95
>
> Because we can do this at this point, with your changes, rather
> than when kcfd shows us the door as before, right?
Right.
>
> usr/src/uts/common/crypto/core/kcf_sched.c:206
>
> nit: A period is one ., an ellipsis is three. You can't have
> two.
Accept. Its a period now.
>
> usr/src/uts/common/crypto/core/kcf_sched.c:1027
>
> cv_reltimedwait() should never return 0, only -1 on timeout,
> and > 0 when signalled (cv_signal), no?
Yes. I left the explicit case for 0 in case someone decides that
signaling kcfpoold is a good idea, and to illustrate that I thought
about it. Technically I can remove the 0 case if someone is offended by
it.
>
> usr/src/uts/common/crypto/core/kcf_sched.c:1395,1396
>
> nit: process names don't agree, "kcfpool" v. "kcfpoold"
I fixed the comment. Its kcfpoold.
>
> usr/src/uts/common/sys/crypto/sched_impl.h:379
>
> "... also protects the three fileds above"
>
> This is probably not true, as you deleted 5 fields preceding
> this comment, if it is still true, please fix the spelling of
> fields.
Accept. It doesn't protect any fields, so I removed the incorrect
statement.
>
> usr/src/uts/common/sys/crypto/spi.h:48
> usr/src/uts/common/sys/crypto/spi.h:493,500
> usr/src/uts/common/sys/crypto/spi.h:536,548
> usr/src/uts/common/sys/crypto/spi.h:566
>
> co_fips140_ops is useless, after your changes. Can it be safely
> removed, given that the API is versioned? Or does it make more
> sense to leave CRYPTO_SPI_VERSION_4, so the API versioning
> continues to line up.
I prefer the latter. It will make future merges less painful, if they
ever occur, and I hate the idea of a mixup even being *possible* with
someone mixing current V4 code against some future V4 or later.
>
> Either way, I think you should remove the implementations of this
> entry point from the VERSION_4 providers, since the code will
> never be called.
This goes to the question about dead code. I think I'm coming to agree
with you on this, although it will be seriously annoying if ever anyone
tries to reinstate these.
I'm going to submit a new webrev soon, nightly found a few lint
complaints, and I gutted the crypto support from nightly as well.
Stay tuned.
-- Garrett
>
> -- Rich
More information about the Developer
mailing list