patch for errno-issue (with soundcore)
Hi,
here is a simple patch to export the errno-symbol from the /lib/errno.c file. This solves the problem with the soundcore module and works perfectly for me...
Thomas Schlichter
P.S.: This patch is made against the 2.5.56 tree
lib/Makefile +1 -1
@@ -9,7 +9,7 @@ L_TARGET := lib.a export-objs := cmdline.o dec_and_lock.o rwsem-spinlock.o rwsem.o \ - crc32.o rbtree.o radix-tree.o kobject.o + crc32.o rbtree.o radix-tree.o kobject.o errno.o obj-y := errno.o ctype.o string.o vsprintf.o brlock.o cmdline.o \ bust_spinlocks.o rbtree.o radix-tree.o dump_stack.o \
lib/errno.c +4 -0
@@ -4,4 +4,8 @@* Copyright (C) 1991, 1992 Linus Torvalds */ +#include <linux/module.h> +int errno; + +EXPORT_SYMBOL (errno);
Quoted 4 lines · Thomas Schlichter
here is a simple patch to export the errno-symbol from the
/lib/errno.cfile. This solves the problem with the soundcore module and works perfectly for me...
Alternatively, one could simply reverse the one-line patch to linux/sound/sound_firmware.c in the 2.5.55 patch set that broke things to begin with.
Signature · 4 lines
----------------------------------------------------------------------- Bob Tracy WTO + WIPO = DMCA? http://www.anti-dmca.org [email protected] -----------------------------------------------------------------------
Quoted 5 lines · Thomas Schlichter
Hi,
here is a simple patch to export the errno-symbol from the
/lib/errno.cfile. This solves the problem with the soundcore module and works perfectly for me...
This actually shows a bug that has always been lurking. What if we load two modules firmware at the same time. errno needs to be task private or we perhaps need an errno_sem ?
Quoted 3 lines · Alan Cox
This actually shows a bug that has always been lurking. What if we load two modules firmware at the same time. errno needs to be task private or we perhaps need an
errno_sem?
OK, I think I see the problem now!
But is soundcore the only place where 'errno' is used? Does this problem not occur if any task modifies the errno value and an other one depends on its previous value? I think this could happen even if no modules are used...