diff options
Diffstat (limited to 'source/l/hal/patches/fix_segfault_in_LIBHAL_FREE_DBUS_ERROR.diff')
-rw-r--r-- | source/l/hal/patches/fix_segfault_in_LIBHAL_FREE_DBUS_ERROR.diff | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/source/l/hal/patches/fix_segfault_in_LIBHAL_FREE_DBUS_ERROR.diff b/source/l/hal/patches/fix_segfault_in_LIBHAL_FREE_DBUS_ERROR.diff new file mode 100644 index 00000000..b5bfdec6 --- /dev/null +++ b/source/l/hal/patches/fix_segfault_in_LIBHAL_FREE_DBUS_ERROR.diff @@ -0,0 +1,51 @@ +commit dcb2829b8eff61463b0869614ddb07b1c86cecaa +Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> +Date: Wed Dec 30 12:42:52 2009 +0100 + + linux/probe-input: don't use error prio init + + it may happen in the out: case that LIBHAL_FREE_DBUS_ERROR (&error) is + called before the error structure is initialized via + dbus_error_init (&error). This could lead to a segfault during startup + as seen in dmesg: + + |Intel AES-NI instructions are not detected. + |padlock: VIA PadLock not detected. + |hald-probe-inpu[1793]: segfault at 2 ip 00007f656fb68969 sp 00007fff39eeb950 error 4 in libc-2.10.2.so[7f656faf3000+14a000] + |hald-probe-inpu[1796]: segfault at 2 ip 00007fa2c3293969 sp 00007fffd92a5dd0 error 4 in libc-2.10.2.so[7fa2c321e000+14a000] + |hald-probe-inpu[1797]: segfault at 2 ip 00007f1d08ba2969 sp 00007fff34244e30 error 4 in libc-2.10.2.so[7f1d08b2d000+14a000] + |hald-probe-inpu[1799]: segfault at 2 ip 00007f35c0e3d969 sp 00007fffe5ec7ee0 error 4 in libc-2.10.2.so[7f35c0dc8000+14a000] + |hald-probe-inpu[1800]: segfault at 2 ip 00007f931c556969 sp 00007fffe1825b60 error 4 in libc-2.10.2.so[7f931c4e1000+14a000] + |hald-probe-inpu[1801]: segfault at 2 ip 00007f5156d9a969 sp 00007fff4e620af0 error 4 in libc-2.10.2.so[7f5156d25000+14a000] + |RPC: Registered udp transport module. + |RPC: Registered tcp transport module. + + What I run into seems to be reported as Debian #562068 [0]. This patch + makes the segfault go away on my machine. + + [0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=562068 + + Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> + Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com> + + +diff --git a/hald/linux/probing/probe-input.c b/hald/linux/probing/probe-input.c +index 94e9929..cad47d3 100644 +--- a/hald/linux/probing/probe-input.c ++++ b/hald/linux/probing/probe-input.c +@@ -70,6 +70,7 @@ main (int argc, char *argv[]) + fd = -1; + + setup_logger (); ++ dbus_error_init (&error); + + button_type = getenv ("HAL_PROP_BUTTON_TYPE"); + if (button_type == NULL) +@@ -96,7 +97,6 @@ main (int argc, char *argv[]) + if (udi == NULL) + goto out; + +- dbus_error_init (&error); + if ((ctx = libhal_ctx_init_direct (&error)) == NULL) + goto out; + |