Skip to contentSkip to conversation

patch for errno-issue (with soundcore)

PATCH Thomas Schlichter 3 participants 4 messages Jan 13, 2003 Library code

lore
Share & tools
lore
#0 lore raw

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
diff -urP linux-2.5.56/lib/Makefile linux-2.5.56_patched/lib/Makefile
@@ -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
diff -urP linux-2.5.56/lib/errno.c linux-2.5.56_patched/lib/errno.c
@@ -4,4 +4,8 @@
  *  Copyright (C) 1991, 1992  Linus Torvalds
  */
 
+#include <linux/module.h>
+
 int errno;
+
+EXPORT_SYMBOL(errno);
#1 lore raw
Quoted 4 lines · Thomas Schlichter

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

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]
-----------------------------------------------------------------------
#2 lore raw
In reply to Thomas Schlichter
Quoted 5 lines · Thomas Schlichter

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

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 ?

#3 lore raw
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...