From: Crestez Dan Leonard <redacted>
Date: Wed, 22 Oct 2014 21:55:46 +0300
static int tcp_v4_md5_hash_pseudoheader(struct tcp_md5sig_pool *hp,
__be32 daddr, __be32 saddr, int nbytes)
{
- struct tcp4_pseudohdr *bp;
+ struct tcp4_pseudohdr bp;
...
+ sg_init_one(&sg, &bp, sizeof(bp));
+ return crypto_hash_update(&hp->md5_desc, &sg, sizeof(bp));
As others have mentioned, you cannot do this.
On some architectures the kernel stack comes from vmalloc()
memory too.