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]
Message-Id: <20070420.162756.78644819.davem@davemloft.net>
Date:	Fri, 20 Apr 2007 16:27:56 -0700 (PDT)
From:	David Miller <davem@...emloft.net>
To:	mostrows@...thlink.net
Cc:	florz@...rz.de, netdev@...r.kernel.org
Subject: Re: [PATCH 4/4] PPPoE: race between interface going down and
 release()

From: Michal Ostrowski <mostrows@...thlink.net>
Date: Sun, 11 Mar 2007 21:36:56 -0500

> Attached below is my take on how to address this problem.  
> This addresses any concerns you may have had about checking po->pppoe_dev==NULL,
> because accesses to this field are now synchronized with pppoe_hash_lock.
> 
> Once we can settle on a fix for this, I'll deal with the SID==0 issue 
> (trying to do that now would just cause patch conflicts).

This patch doesn't apply becuase in the actual pppoe.c code:

> -	read_lock_bh(&pppoe_hash_lock);
> +	write_lock_bh(&pppoe_hash_lock);
>  	for (hash = 0; hash < PPPOE_HASH_SIZE; hash++) {
>  		struct pppox_sock *po = item_hash_table[hash];
>  
>  		while (po != NULL) {
> -			if (po->pppoe_dev == dev) {
> -				struct sock *sk = sk_pppox(po);
> -
> -				sock_hold(sk);
> -
> -				/* We hold a reference to SK, now drop the
> -				 * hash table lock so that we may attempt
> -				 * to lock the socket (which can sleep).
> -				 */

That code doesn't look like that.  At the end, instead there is:

			     sock_hold(sk);
			     po->pppoe_dev = NULL;

and that goes back all the way to 2.6.12 and beyond before
we moved over to GIT.

So I'm having trouble figuring out what tree you generated
that patch against :-)  Perhaps there was an earlier patch
I missed or something.

But I won't second guess and leave it to you to let me know
what I should actually apply.

Thanks.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ