Comment 12 for bug 1558079

Revision history for this message
hede (michael-heide) wrote :

No further logs are needed, the cause and several solution are known.

The error is caused by the fact that newer Kernels do not allow to modify the cryptographic interface "kernel<->userspace" via bind/setkey/... after accept(2) has been called. But the old cryptsetup in trusty tahr is doing definitely that: calling accept(2) first and then setkey to the file descriptor.

There are various possible solutions to the problem.

The simple one:

I've created a ppa. Use cryptsetup from there:
https://launchpad.net/~michael-heide/+archive/ubuntu/test2

(btw: I've created some packages in the past but these were unsigned and I've incremented the version number a little awkward. So I created some new packages with cleaner versioning for the ppa)

Other possible solutions:

- Manually patching cryptsetup. The patch I've added (see above) changes the order of accept/setkey.

- Using some newer cryptsetup - the one in ubuntu trusty (14.04) is outdated - newer versions from newer ubuntu or debian releases (using compiled .deb) should work.

- Manually Reverting back the corresponding patch to the Kernel: [crypto: af_alg - Disallow bind/setkey/... after accept(2)]
  * added to [linux (3.19.0-52.58) vivid; urgency=low] with [ Upstream Kernel Changes ]
  * added to [linux (3.13.0-80.124) trusty; urgency=low] with [ Upstream Kernel Changes ]
  (i.e. manually unpatching those patches within the linux sources)

- installing some older kernel versions <3.19.0-52.58 / <3.13.0-80.124

- wait for the original ubuntu cryptsetup maintainer to fix his package