Commit Graph

5 Commits

Author SHA1 Message Date
Jo-Philipp Wich
cb7aa4b1fe ebtables: fix segmentation fault due to uninitialized extension data
The ebtables code relies on the `-nostartfiles` linker argument to execute the
extension modules' `_init()` functions automatically which is not working
reliably across all supported targets and gcc versions.

Running an ebtables executable linked this way just crashes with a segmentation
fault at runtime on program startup, e.g. on ARM architectures.

In order to fix the issue ...
 - remove the use of the -nostartfiles linker flag
 - rename the init procedures to a generic name without implicit semantics
 - explicitely annotate those init procedures as constructors

The patch has been taken from the Alpine Linux distribution at
http://git.alpinelinux.org/cgit/aports/tree/main/ebtables/fix-extension-init.patch

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-06-24 15:59:36 +02:00
Felix Fietkau
1c8148a858 ebtables: fix miscompilation on 64bit targets
The musl build "fix" introduced in r45108 removed all netinet/ether.h
includes, which made the prototypes of ether_aton and ether_ntoa
unavailable. As a result, the compiler assumed they return int instead
of a pointer. This currupted the pointer on 64bit targets, causing ebtables
to segfault in commands containing MAC addresses.

Since r46161 made it possible to include both the kernel and the libc
if_ether.h as long as the libc version is included first, this patch
changes the fix to remove the linux/if_ether.h from the ebtables source
(so the fixed version from the kernel is used) and ensures netinet/ether.h
is included early.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 46292
2015-07-10 11:36:49 +00:00
Felix Fietkau
55aa123732 ebtables: fix musl build issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45108
2015-03-29 04:29:44 +00:00
Nicolas Thill
a7f198b12c ebtables: revert "disable rpath" (closes: #19088)
This reverts commit 9340723d70bce9d905c3f53b2bf415963153b34d.

Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 44634
2015-03-09 22:07:05 +00:00
Nicolas Thill
e97228fde9 ebtables: disable rpath
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 44396
2015-02-11 11:31:07 +00:00