mbox series

[net-next,0/9] l2tp: misc improvements

Message ID cover.1722856576.git.jchapman@katalix.com (mailing list archive)
Headers show
Series l2tp: misc improvements | expand

Message

James Chapman Aug. 5, 2024, 11:35 a.m. UTC
This series makes several improvements to l2tp:

 * update documentation to be consistent with recent l2tp changes.
 * move l2tp_ip socket tables to per-net data.
 * fix handling of hash key collisions in l2tp_v3_session_get
 * implement and use get-next APIs for management and procfs/debugfs.
 * improve l2tp refcount helpers.
 * use per-cpu dev->tstats in l2tpeth devices.
 * fix a lockdep splat.
 * fix a race between l2tp_pre_exit_net and pppol2tp_release.

James Chapman (9):
  documentation/networking: update l2tp docs
  l2tp: move l2tp_ip and l2tp_ip6 data to pernet
  l2tp: fix handling of hash key collisions in l2tp_v3_session_get
  l2tp: add tunnel/session get_next helpers
  l2tp: use get_next APIs for management requests and procfs/debugfs
  l2tp: improve tunnel/session refcount helpers
  l2tp: l2tp_eth: use per-cpu counters from dev->tstats
  l2tp: fix lockdep splat
  l2tp: flush workqueue before draining it

 Documentation/networking/l2tp.rst |  54 ++++-----
 net/l2tp/l2tp_core.c              | 192 ++++++++++++++++++++++--------
 net/l2tp/l2tp_core.h              |  11 +-
 net/l2tp/l2tp_debugfs.c           |  24 ++--
 net/l2tp/l2tp_eth.c               |  42 +++----
 net/l2tp/l2tp_ip.c                | 114 +++++++++++++-----
 net/l2tp/l2tp_ip6.c               | 116 +++++++++++++-----
 net/l2tp/l2tp_netlink.c           |  72 ++++++-----
 net/l2tp/l2tp_ppp.c               |  62 +++++-----
 9 files changed, 440 insertions(+), 247 deletions(-)

Comments

Simon Horman Aug. 6, 2024, 2:40 p.m. UTC | #1
On Mon, Aug 05, 2024 at 12:35:24PM +0100, James Chapman wrote:
> This series makes several improvements to l2tp:
> 
>  * update documentation to be consistent with recent l2tp changes.
>  * move l2tp_ip socket tables to per-net data.
>  * fix handling of hash key collisions in l2tp_v3_session_get
>  * implement and use get-next APIs for management and procfs/debugfs.
>  * improve l2tp refcount helpers.
>  * use per-cpu dev->tstats in l2tpeth devices.
>  * fix a lockdep splat.
>  * fix a race between l2tp_pre_exit_net and pppol2tp_release.
> 
> James Chapman (9):
>   documentation/networking: update l2tp docs
>   l2tp: move l2tp_ip and l2tp_ip6 data to pernet
>   l2tp: fix handling of hash key collisions in l2tp_v3_session_get
>   l2tp: add tunnel/session get_next helpers
>   l2tp: use get_next APIs for management requests and procfs/debugfs
>   l2tp: improve tunnel/session refcount helpers
>   l2tp: l2tp_eth: use per-cpu counters from dev->tstats
>   l2tp: fix lockdep splat
>   l2tp: flush workqueue before draining it

Hi James,

I notice that some of these patches are described as fixes and have Fixes
tags. As such they seem appropriate for, a separate, smaller series,
targeted at net.

...
James Chapman Aug. 6, 2024, 3:53 p.m. UTC | #2
On 06/08/2024 15:40, Simon Horman wrote:
> On Mon, Aug 05, 2024 at 12:35:24PM +0100, James Chapman wrote:
>> This series makes several improvements to l2tp:
>>
>>   * update documentation to be consistent with recent l2tp changes.
>>   * move l2tp_ip socket tables to per-net data.
>>   * fix handling of hash key collisions in l2tp_v3_session_get
>>   * implement and use get-next APIs for management and procfs/debugfs.
>>   * improve l2tp refcount helpers.
>>   * use per-cpu dev->tstats in l2tpeth devices.
>>   * fix a lockdep splat.
>>   * fix a race between l2tp_pre_exit_net and pppol2tp_release.
>>
>> James Chapman (9):
>>    documentation/networking: update l2tp docs
>>    l2tp: move l2tp_ip and l2tp_ip6 data to pernet
>>    l2tp: fix handling of hash key collisions in l2tp_v3_session_get
>>    l2tp: add tunnel/session get_next helpers
>>    l2tp: use get_next APIs for management requests and procfs/debugfs
>>    l2tp: improve tunnel/session refcount helpers
>>    l2tp: l2tp_eth: use per-cpu counters from dev->tstats
>>    l2tp: fix lockdep splat
>>    l2tp: flush workqueue before draining it
> 
> Hi James,
> 
> I notice that some of these patches are described as fixes and have Fixes
> tags. As such they seem appropriate for, a separate, smaller series,
> targeted at net.
> 
> ...

Hi Simon,

Thanks for reviewing.

Patch 3 changes code which already differs in the net-next and net 
trees. If it is applied to net, I think commit 24256415d1869 ("l2tp: 
prevent possible tunnel refcount underflow") is also suitable for net. I 
see now that I haven't used the Fixes tag consistently. tbh, I think 
both commits address possible issues in a rare use case so aren't 
necessary for net. But if you or others think otherwise, I'll respin for 
net.

I'll respin patch 8 targetted at net.

Patch 9 addresses changes code that isn't yet in the net tree. I'll 
remove the Fixes tag in v2.
Simon Horman Aug. 9, 2024, 8:19 a.m. UTC | #3
On Tue, Aug 06, 2024 at 04:53:24PM +0100, James Chapman wrote:
> On 06/08/2024 15:40, Simon Horman wrote:
> > On Mon, Aug 05, 2024 at 12:35:24PM +0100, James Chapman wrote:
> > > This series makes several improvements to l2tp:
> > > 
> > >   * update documentation to be consistent with recent l2tp changes.
> > >   * move l2tp_ip socket tables to per-net data.
> > >   * fix handling of hash key collisions in l2tp_v3_session_get
> > >   * implement and use get-next APIs for management and procfs/debugfs.
> > >   * improve l2tp refcount helpers.
> > >   * use per-cpu dev->tstats in l2tpeth devices.
> > >   * fix a lockdep splat.
> > >   * fix a race between l2tp_pre_exit_net and pppol2tp_release.
> > > 
> > > James Chapman (9):
> > >    documentation/networking: update l2tp docs
> > >    l2tp: move l2tp_ip and l2tp_ip6 data to pernet
> > >    l2tp: fix handling of hash key collisions in l2tp_v3_session_get
> > >    l2tp: add tunnel/session get_next helpers
> > >    l2tp: use get_next APIs for management requests and procfs/debugfs
> > >    l2tp: improve tunnel/session refcount helpers
> > >    l2tp: l2tp_eth: use per-cpu counters from dev->tstats
> > >    l2tp: fix lockdep splat
> > >    l2tp: flush workqueue before draining it
> > 
> > Hi James,
> > 
> > I notice that some of these patches are described as fixes and have Fixes
> > tags. As such they seem appropriate for, a separate, smaller series,
> > targeted at net.
> > 
> > ...
> 
> Hi Simon,
> 
> Thanks for reviewing.
> 
> Patch 3 changes code which already differs in the net-next and net trees. If
> it is applied to net, I think commit 24256415d1869 ("l2tp: prevent possible
> tunnel refcount underflow") is also suitable for net. I see now that I
> haven't used the Fixes tag consistently. tbh, I think both commits address
> possible issues in a rare use case so aren't necessary for net. But if you
> or others think otherwise, I'll respin for net.

Thanks, and sorry for my slow response.

In principle I think it is fine to push changes to net-next, without Fixes
tags, that are marginal wrt being fixes.

> 
> I'll respin patch 8 targetted at net.
> 
> Patch 9 addresses changes code that isn't yet in the net tree. I'll remove
> the Fixes tag in v2.
> 
>