lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 12 Jul 2007 20:48:45 +0300
From:	Ranko Zivojnovic <ranko@...dernet.net>
To:	Patrick McHardy <kaber@...sh.net>
Cc:	Jarek Poplawski <jarkao2@...pl>, netdev@...r.kernel.org
Subject: Re: [NET]: gen_estimator deadlock fix

On Thu, 2007-07-12 at 14:07 +0200, Patrick McHardy wrote:
> [Removed Andrew from CC]
> 
> Ranko Zivojnovic wrote:
> > I agree - it does look like the most sensible thing to do - have
> > gnet_stats_basic and gnet_stats_rate_est allocated within the
> > gen_estimator struct rather than pointers looking here and there - and
> > provide api to maintain those stats - it simplifies the picture.
> 
> 
> The API is not very pretty, some improvement there would be welcome.
> 
> > Also - the stats_lock in this case could be local to gen_estimator
> > struct, thus making the implementation completely "dev agnostic" - and
> > will not break on dev removal.
> 
> 
> The queue lock is used since thats what protects the qdisc counters.

Ok - here's the patch for a review - it compiles clean ... and that's as
much as it has been tested - I'll try give it a run later today or
definitely tomorrow.

'bstats' and 'rate_est' are now embedded into gen_estimator as well as
the spin_lock that protects them.

Introduced two new inline functions: gen_bstat_add() and gen_bstat_skb()
for maintaining the bstats within the gen_estimator structure.

Note that gen_bstat_skb includes also the TSO check and effectively
propagates the TSO support to all schedulers.

R.

View attachment "t" of type "text/plain" (32295 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ