HIFN+IPsec crashes in current -git

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

 



I'm getting crashes when using HIFN and IPsec (ESP with
AES + MD5) in the current -git tree. I didn't capture the
Oops, but there seem to be a number of problems:

- hifn_setup_session walks over the scatterlist, subtracting
  the scatterlist element size from nbytes until nbytes
  reaches zero. In my case nbytes is 12 byte smaller than
  the scatterlist, so nbytes underflows and it oopses when
  walking over the of the scatterlist.

- similar problem in ablkcipher_walk

- After adding a hack to only walk the correct amount of
  bytes, I got another crash because the return value
  of ablkcipher_walk is not checked for errors, which
  can cause sg_num to take a very large value.

- After adding more hacks to work around the crash,
  I got "bad page state" on resume and a refcount
  underflow in dst_release() called by xfrm_input(),
  but that may very well be caused by my hacks.

I couldn't figure out where in the crypto code the
nbytes decrement by 12 bytes compared to the length
seen when setting up the crypto operation happens
or I might have tried to properly fix it myself.
I'll happily test patches in case someone more
familiar with the code does a proper fix.
-
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux