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] [day] [month] [year] [list]
Date:	Thu, 2 Jul 2015 23:55:54 +0200
From:	Ralf Baechle <ralf@...ux-mips.org>
To:	"Eric W. Biederman" <ebiederm@...ssion.com>
Cc:	linux-hams@...r.kernel.org, netdev@...r.kernel.org,
	Steven Whitehouse <swhiteho@...hat.com>,
	Richard Stearn <richard@...-stearn.demon.co.uk>,
	f6bvp <f6bvp@...e.fr>
Subject: Re: Bpqether broken in 4.1

On Thu, Jul 02, 2015 at 04:03:07PM -0500, Eric W. Biederman wrote:

> > Eric's Commit 1d5da757da860a6916adbf68b09e868062b4b3b8 (ax25: Stop using
> > magic neighbour cache operations.) breaks IP traffic over the AX.25 bpqether
> > driver.
> 
> Sigh.  NETIF_F_LLTX is not set so recursion does not work :(
> 
> So we can either set NETIF_F_LLTX or just rever the offending commit.

The AX.25 stack has a sufficient number of hacks that attempts to fix
any hack is likely to cause issues somewhere else and the header and
neighbour stuff is the worst minefield.  I'm happy that your patch at
least concentrates all those hacks in the AX.25 stack itself removing
the impact from the generic networking code.

> I think either will work.  ax25 is so very weird it just abuses the
> neighbour table something awful.  It ax25 is not caching ip address to
> ax25 address translations in there, ax25 should really not be using the
> neighbour table.  Sigh.
> 
> So perhaps something like the below will be good enough.
> 
> diff --git a/drivers/net/hamradio/bpqether.c b/drivers/net/hamradio/bpqether.c
> index 63ff08a26da8..fc2be36c9425 100644
> --- a/drivers/net/hamradio/bpqether.c
> +++ b/drivers/net/hamradio/bpqether.c
> @@ -483,6 +483,7 @@ static void bpq_setup(struct net_device *dev)
>         memcpy(dev->dev_addr,  &ax25_defaddr, AX25_ADDR_LEN);
>  
>         dev->flags      = 0;
> +       dev->features   = NETIF_F_LLTX; /* Allow recursion */
>  
>  #if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
>         dev->header_ops      = &ax25_header_ops;

Thanks, that restored bpqether to work.  I will cook up a patch to fix
all other AX.25 drivers.

Thanks!

  Ralf
--
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