libgocryptfs/internal
Jakob Unterwurzacher bcca323cb7 contentenc: reserve one extra block in pool plaintext buffers
File holes and -fsck can cause unaligned read accesses, which means
we have to decrypt one extra plaintext block.

xfstests generic/083 manage to crash -fsck like this:

generic/083	2018/07/14 15:25:21 wrong len=266240, want=131072
panic: wrong len=266240, want=131072

goroutine 1 [running]:
log.Panicf(0x67fc00, 0x15, 0xc4204fec90, 0x2, 0x2)
	/usr/local/go/src/log/log.go:333 +0xda
github.com/rfjakob/gocryptfs/internal/contentenc.(*bPool).Put(0xc4200d4800, 0xc4202f2000, 0x21000, 0x41000)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/internal/contentenc/bpool.go:27 +0x15d
github.com/rfjakob/gocryptfs/internal/fusefrontend.(*File).doRead(0xc4200b4500, 0xc42019e000, 0x0, 0x20000, 0x28400, 0x20000, 0xc42019e000, 0xc4204ff008, 0x435164, 0xc420000180)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/internal/fusefrontend/file.go:227 +0xba9
github.com/rfjakob/gocryptfs/internal/fusefrontend.(*File).Read(0xc4200b4500, 0xc42019e000, 0x20000, 0x20000, 0x28400, 0x0, 0x0, 0x0)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/internal/fusefrontend/file.go:246 +0x23e
main.(*fsckObj).file(0xc420069320, 0xc42001a630, 0x21)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/fsck.go:126 +0x21f
main.(*fsckObj).dir(0xc420069320, 0xc420014dc0, 0x1d)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/fsck.go:76 +0x387
main.(*fsckObj).dir(0xc420069320, 0xc42021dae0, 0x19)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/fsck.go:74 +0x347
2018-07-15 11:39:19 +02:00
..
configfile Only print masterkey once on -init 2018-07-01 20:56:22 +02:00
contentenc contentenc: reserve one extra block in pool plaintext buffers 2018-07-15 11:39:19 +02:00
cryptocore tlog: stop embedding log.Logger to prevent mistakes 2018-02-28 09:02:18 +01:00
ctlsock fsck: clean up log output 2018-04-02 18:32:30 +02:00
exitcodes trezor: add skeleton for Trezor support 2018-07-01 20:56:04 +02:00
fusefrontend fusefrontend: log prealloc failures at Info level 2018-07-14 15:18:27 +02:00
fusefrontend_reverse darwin does not have PATH_MAX 2018-06-08 00:47:48 +02:00
nametransform fsck: clean up log output 2018-04-02 18:32:30 +02:00
openfiletable openfiletable: rename WriteLock to ContentLock 2017-05-01 21:57:18 +02:00
pathiv pathiv: fix test failure on Go 1.6 2017-05-31 08:21:36 +02:00
prefer_openssl prefer_openssl: default to Go GCM on OSX 2016-12-10 21:04:17 +01:00
readpassword Fix golint warnings 2018-07-01 22:00:06 +02:00
serialize_reads fix golint complaints 2017-04-29 14:50:58 +02:00
siv_aead siv_aead: create private key copy and implement wiping 2018-02-18 16:01:46 +01:00
speed fix golint complaints 2017-04-29 14:50:58 +02:00
stupidgcm stupidgcm: return error on too short input instead of panicing 2018-05-10 23:00:02 +02:00
syscallcompat macos: fix O_DIRECT build failure 2018-07-04 09:04:00 +02:00
tlog Only print masterkey once on -init 2018-07-01 20:56:22 +02:00