REGRESSION: dwc2: gadget: Add scatter-gather mode

From: John Stultz
Date: Fri Mar 08 2019 - 15:53:33 EST


Hey Andrzej,
I just wanted to let you know, trying to boot linus/master on the
hikey board today, I've been seeing lots of errors on boot (which
sometimes crash the board, and sometimes doesn't). See the example
below.

I've bisected the issue down to 10209abe87f5 ("usb: dwc2: gadget: Add
scatter-gather mode"), and if I revert that change the issue goes
away.

Looking at the patch, I can't see anything obviously sticking out, but
let me know if you have anything suggestions you'd like me to test.

thanks
-john


[ 13.088934] functionfs read size 512 > requested size 24, splitting
request into multiple reads.
[ 13.089029] ------------[ cut here ]------------
[ 13.102665] Trying to vfree() bad address (00000000ecf3404f)
[ 13.108436] WARNING: CPU: 0 PID: 2014 at mm/vmalloc.c:1516 __vunmap+0xe0/0xe8
[ 13.115587] CPU: 0 PID: 2014 Comm: adbd Not tainted
5.0.0-08291-ga032141-dirty #897
[ 13.123244] Hardware name: HiKey Development Board (DT)
[ 13.128469] pstate: 80400005 (Nzcv daif +PAN -UAO)
[ 13.133266] pc : __vunmap+0xe0/0xe8
[ 13.136757] lr : __vunmap+0xe0/0xe8
[ 13.140243] sp : ffffff80114d3b40
[ 13.143555] x29: ffffff80114d3b40 x28: ffffffc07333d280
[ 13.148868] x27: ffffffc071b67a38 x26: 00000000000001e8
[ 13.154180] x25: ffffff80114d3ca8 x24: ffffffc07190e400
[ 13.159492] x23: ffffffc0748bca00 x22: ffffff8010ffd000
[ 13.164803] x21: 0000000000000001 x20: ffffff80114d3c98
[ 13.170113] x19: ffffff8010414e74 x18: ffffff8010ffda48
[ 13.175423] x17: 0000000000000000 x16: 0000000000000000
[ 13.180734] x15: ffffff80914d3867 x14: 0000000000000006
[ 13.186044] x13: ffffff80114d3875 x12: ffffff801101c898
[ 13.191371] x11: ffffff801101c000 x10: 0000000005f5e0ff
[ 13.191416] type=1400 audit(16.743:79): avc: denied { read } for
comm="drmserver" name="enabled" dev="sysfs" ino=5492
scontext=u:r:drmserver:s0 tcont0
[ 13.196698] x9 : ffffff80114d3800 x8 : 2966343034336663
[ 13.196707] x7 : 6530303030303030 x6 : 0000000000000424
[ 13.196713] x5 : 0000000000000000 x4 : 0000000000000000
[ 13.196718] x3 : 0000000000000001 x2 : 0000000000000001
[ 13.196724] x1 : b357113b3815f700 x0 : 0000000000000000
[ 13.214445] type=1400 audit(17.075:84): avc: denied { read } for
comm="audioserver" name="enabled" dev="sysfs" ino=5492
scontext=u:r:audioserver:s0 t0
[ 13.219604] Call trace:
[ 13.219616] __vunmap+0xe0/0xe8
[ 13.219623] __vfree+0x24/0x70
[ 13.219635] vfree+0x20/0x38
[ 13.270258] ffs_epfile_io.isra.12+0x190/0x6b0
[ 13.274707] ffs_epfile_read_iter+0xa0/0x168
[ 13.278982] __vfs_read+0x10c/0x168
[ 13.282471] vfs_read+0x8c/0x148
[ 13.285700] ksys_read+0x5c/0xc8
[ 13.288930] __arm64_sys_read+0x14/0x20
[ 13.292773] el0_svc_common.constprop.0+0xb0/0x110
[ 13.297461] type=1400 audit(17.075:84): avc: denied { read } for
comm="audioserver" name="enabled" dev="sysfs" ino=5492
scontext=u:r:audioserver:s0 t0
[ 13.297570] el0_svc_handler+0x28/0x78
[ 13.315592] type=1400 audit(17.179:85): avc: denied { read } for
comm="bootanimation" name="enabled" dev="sysfs" ino=5492
scontext=u:r:bootanim:s0 tc0
[ 13.319239] el0_svc+0x8/0xc
[ 13.319245] ---[ end trace 729ab9edfbdb0764 ]---