]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
Merge branch 'gtp-fix-several-bugs-in-gtp-module'
authorJakub Kicinski <jakub.kicinski@netronome.com>
Sun, 15 Dec 2019 01:16:12 +0000 (17:16 -0800)
committerJakub Kicinski <jakub.kicinski@netronome.com>
Sun, 15 Dec 2019 01:16:12 +0000 (17:16 -0800)
commit8ed001c966b0dd812a1cc57ae4b9c7b6d1454a25
tree0c3c21f1217705dad14aecd5de3c69715fc70760
parent5d485ed88d48f8101a2067348e267c0aaf4ed486
parent6a902c0f31993ab02e1b6ea7085002b9c9083b6a
Merge branch 'gtp-fix-several-bugs-in-gtp-module'

Taehee Yoo says:

====================
gtp: fix several bugs in gtp module

This patchset fixes several bugs in the GTP module.

1. Do not allow adding duplicate TID and ms_addr pdp context.
In the current code, duplicate TID and ms_addr pdp context could be added.
So, RX and TX path could find correct pdp context.

2. Fix wrong condition in ->dumpit() callback.
->dumpit() callback is re-called if dump packet size is too big.
So, before return, it saves last position and then restart from
last dump position.
TID value is used to find last dump position.
GTP module allows adding zero TID value. But ->dumpit() callback ignores
zero TID value.
So, dump would not work correctly if dump packet size too big.

3. Fix use-after-free in ipv4_pdp_find().
RX and TX patch always uses gtp->tid_hash and gtp->addr_hash.
but while packet processing, these hash pointer would be freed.
So, use-after-free would occur.

4. Fix panic because of zero size hashtable
GTP hashtable size could be set by user-space.
If hashsize is set to 0, hashtable will not work and panic will occur.
====================

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>