Re: Using kerneli w/o compiling a kernel?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alexander S A Kjeldaas wrote:
> 
<snip>
> Try 2.2.17.8.pre2.  The /proc/cipher and /proc/digest entries were
> switched.
> 
<snip>

Now the ciphers show up in /proc/ciphers. But losetup or mount on my
blowfish fs gives me an invalid argument on the LOOP_SET_STATUS ioctl.

I wonder where this stems from. There are no changes in loop_gen.c or
loop.c that could do this, also the introduction of the keysize_mask
does not contribute because it is currently purely cosmetic.

On the other hand, the changes in cryptoapi.c are so complex that
looking at a unified diff makes one lose grip on the context, primarily
because I have not yet dug into this too deep.

LOOP_SET_STATUS can return EINVAL on:

loop.c:557:
if lo_encrypt_key_size > LO_KEY_SIZE
loop.c:486:
if type >= MAX_LO_CRYPT
and if xfer_funcs[type] is 0 and a module load fails.

also, if xfer->release(lo) or xfer->init(lo,i) return EINVAL.

loop_gen_release: always return 0;
loop_gen_init2: returns EINVAL if
	- find_cipher_by_id fails
	- ci->set_key() fails (i.e. does not return 0).

So I suspect the error to be in find_cipher_by_id(), which is now
defined a find_transform_by_id(id, TRANSFORM_CIPHER).

Here I don't understand why you treat tg different from the way you did
before. Prior, it was defined as a pointer to struct transform_group,
just like now. The difference being that it is now a local variable
where it was a function argument before.
Yet, you now write
Q> read_lock(&tg->tg_lock)
where you wrote
Q> read_lock(tg-tg_lock)
before?

Marc

-- 
Marc Mutz <Marc@xxxxxxxx>     http://EncryptionHOWTO.sourceforge.net/
University of Bielefeld, Dep. of Mathematics / Dep. of Physics

PGP-keyID's:   0xd46ce9ab (RSA), 0x7ae55b9e (DSS/DH)


Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/


[Index of Archives]     [Kernel]     [Linux Crypto]     [Gnu Crypto]     [Gnu Classpath]     [Netfilter]     [Bugtraq]
  Powered by Linux