Re: RFC(ry): breaking loop.c's IV calculation

Jari Ruusu (jari.ruusu@pp.inet.fi)
Tue, 04 Dec 2001 00:22:55 +0200


This is a multi-part message in MIME format.
--------------B7E7A619D6A837592C47DE5F
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Herbert Valerio Riedel wrote:
> well, I've put one patch together (it still needs (constructive)
> auditing though! jari?) here it is (it's against 2.4.16's loop.[ch])

I have attached my version of loop.c bug fixes. These are extracted from
loop-AES and are well tested.

- IV computed in 512 byte units.
- Make device backed loop work with swap by pre-allocating pages.
- External encryption module locking bug fixed (from Ingo Rohloff).
- Get rid of the loop_get_bs() crap.
- grab_cache_page() return value handled properly, avoids Oops.
- No more illegal messing with BH_Dirty flag.
- No more illegal sleeping in generic_make_request().
- Loops can be set-up properly when root partition is still mounted ro.
- Default soft block size is set properly for file backed loops.
- kmalloc() error case handled properly.

Regards,
Jari Ruusu <jari.ruusu@pp.inet.fi>
--------------B7E7A619D6A837592C47DE5F
Content-Type: application/x-gzip;
name="loop-fixes-2.4.17-pre2.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="loop-fixes-2.4.17-pre2.diff.gz"

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

--------------B7E7A619D6A837592C47DE5F--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/