On Friday 29 April 2016 14:59:21 Sven Eckelmann wrote: > On Friday 29 April 2016 14:14:27 Andrew Lunn wrote: > > On Fri, Apr 29, 2016 at 07:52:42AM +0200, Sven Eckelmann wrote: > > > On Thursday 28 April 2016 22:37:19 Andrew Lunn wrote: > > > > batman-adv tries to prevent the user from placing a batX soft > > > > interface into another batman mesh as a hard interface. It does this > > > > by walking up the devices list of parents and ensures they are all > > > > none batX interfaces. iflink can point to an interface in a different > > > > namespace, so also retrieve the parents name space when finding the > > > > parent and use it when doing the comparison. > > > > > > > > Signed-off-by: Andrew Lunn <[email protected]> > > > > Acked-by: Antonio Quartulli <[email protected]> > > > > --- > > > > > > You are unfortunately reverting back to an older version of the patch > > > which is harder to make compile on older kernels. > > > > Hi Sven > > > > Please point me at the version you would prefer. > > Partially this one: https://patchwork.open-mesh.org/patch/15921/ > > I know that your current submission doesn't contain the compat-patches part > (which I find rather ugly) but this version has only a single function > handling the batadv_getlink_net and thus could be easier to create some wild > #defines working around the compat problem on older versions. But it will > most likely end with a warning and being a big NOP on older kernels. > > It is something like (untested): > > /* WARNING dirty hack for batadv_getlink_net */ > #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) > #define get_link_net get_xstats_size || 1 || > netdev->rtnl_link_ops->get_xstats_size #endif
Attached is the patch version of the hack. It creates following warning:
/tmp/qemu-batman/batman-adv/net/batman-adv/hard-interface.c:103:9: warning:
return makes pointer from integer without a cast [-Wint-conversion]
return netdev->rtnl_link_ops->get_link_net(netdev);
^
If somebody else has a good/better idea then please post it.
Kind regards,
SvenFrom: Sven Eckelmann <[email protected]> Date: Fri, 29 Apr 2016 21:48:55 +0200 Subject: [PATCH] get_link_net hack --- compat.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/compat.h b/compat.h index 5a5f478..0644241 100644 --- a/compat.h +++ b/compat.h @@ -140,6 +140,13 @@ static int __batadv_interface_kill_vid(struct net_device *dev, __be16 proto,\ #endif /* < KERNEL_VERSION(3, 15, 0) */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) + +/* WARNING for batadv_getlink_net */ +#define get_link_net get_xstats_size || 1 || netdev->rtnl_link_ops->get_xstats_size + +#endif /* < KERNEL_VERSION(4, 0, 0) */ + #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) #define IFF_NO_QUEUE 0; dev->tx_queue_len = 0
signature.asc
Description: This is a digitally signed message part.
