Message ID | AM4PR0501MB19404B000E4D3A2CF3CB80DEDBF50@AM4PR0501MB1940.eurprd05.prod.outlook.com |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
Acked-by: Rami Rosen <roszenrami@gmail.com> On 18 September 2016 at 10:42, Ilan Tayari <ilant@mellanox.com> wrote: > commit 1a6509d99122 ("[IPSEC]: Add support for combined mode algorithms") > introduced aead. The function attach_aead kmemdup()s the algorithm > name during xfrm_state_construct(). > However this memory is never freed. > Implementation has since been slightly modified in > commit ee5c23176fcc ("xfrm: Clone states properly on migration") > without resolving this leak. > This patch adds a kfree() call for the aead algorithm name. > > Fixes: 1a6509d99122 ("[IPSEC]: Add support for combined mode algorithms") > Signed-off-by: Ilan Tayari <ilant@mellanox.com> > --- > net/xfrm/xfrm_state.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c > index 9895a8c..a30f898d 100644 > --- a/net/xfrm/xfrm_state.c > +++ b/net/xfrm/xfrm_state.c > @@ -332,6 +332,7 @@ static void xfrm_state_gc_destroy(struct xfrm_state *x) > { > tasklet_hrtimer_cancel(&x->mtimer); > del_timer_sync(&x->rtimer); > + kfree(x->aead); > kfree(x->aalg); > kfree(x->ealg); > kfree(x->calg); > -- > 1.8.3.1 >
On Sun, Sep 18, 2016 at 07:42:53AM +0000, Ilan Tayari wrote: > commit 1a6509d99122 ("[IPSEC]: Add support for combined mode algorithms") > introduced aead. The function attach_aead kmemdup()s the algorithm > name during xfrm_state_construct(). > However this memory is never freed. > Implementation has since been slightly modified in > commit ee5c23176fcc ("xfrm: Clone states properly on migration") > without resolving this leak. > This patch adds a kfree() call for the aead algorithm name. > > Fixes: 1a6509d99122 ("[IPSEC]: Add support for combined mode algorithms") > Signed-off-by: Ilan Tayari <ilant@mellanox.com> Applied to the ipsec tree, thanks Ilan!
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 9895a8c..a30f898d 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c @@ -332,6 +332,7 @@ static void xfrm_state_gc_destroy(struct xfrm_state *x) { tasklet_hrtimer_cancel(&x->mtimer); del_timer_sync(&x->rtimer); + kfree(x->aead); kfree(x->aalg); kfree(x->ealg); kfree(x->calg);
commit 1a6509d99122 ("[IPSEC]: Add support for combined mode algorithms") introduced aead. The function attach_aead kmemdup()s the algorithm name during xfrm_state_construct(). However this memory is never freed. Implementation has since been slightly modified in commit ee5c23176fcc ("xfrm: Clone states properly on migration") without resolving this leak. This patch adds a kfree() call for the aead algorithm name. Fixes: 1a6509d99122 ("[IPSEC]: Add support for combined mode algorithms") Signed-off-by: Ilan Tayari <ilant@mellanox.com> --- net/xfrm/xfrm_state.c | 1 + 1 file changed, 1 insertion(+)