Memory leak.. p = kmalloc(padlen, alloc_flag); if (!pad) return -ENOMEM; The same code also appears on line 1430 in the same file.
Fixed in local CVS, will be merged upstream in next window.