I had this issue with vanilla 2.6.32.27 patched with the 2.6.32.27 grsec patch (2-3 days ago).

On Thu, Jan 13, 2011 at 14:38, "Tóth Attila" <atoth@atoth.sote.hu> wrote:
Compiling the recent hardened-sources results in the following error
message, when irda is enabled:

 CC      net/irda/af_irda.o
net/irda/af_irda.c: In function ‘__irda_getsockopt’:
net/irda/af_irda.c:2289:4: error: label ‘out’ used but not defined

The changes causing it introduced recently.

--- linux-2.6.36-hardened-r7/net/irda/af_irda.c 2010-10-20
22:30:22.000000000 +0200
+++ linux-2.6.36-hardened-r8/net/irda/af_irda.c 2011-01-13
13:08:57.000000000 +0100
@@ -2278,6 +2278,17 @@

       switch (optname) {
       case IRLMP_ENUMDEVICES:
+
+
+               /* Offset to first device entry */
+               offset = sizeof(struct irda_device_list) -
+                       sizeof(struct irda_device_info);
+
+               if (len < offset) {
+                       err = -EINVAL;
+                       goto out;
+               }
+
               /* Ask lmp for the current discovery log */
               discoveries = irlmp_get_discoveries(&list.len,
self->mask.word,
                                                   self->nslots);
@@ -2287,15 +2298,9 @@
               err = 0;

               /* Write total list length back to client */
-               if (copy_to_user(optval, &list,
-                                sizeof(struct irda_device_list) -
-                                sizeof(struct irda_device_info)))
+               if (copy_to_user(optval, &list, offset))
                       err = -EFAULT;

-               /* Offset to first device entry */
-               offset = sizeof(struct irda_device_list) -
-                       sizeof(struct irda_device_info);
-
               /* Copy the list itself - watch for overflow */
               if(list.len > 2048)
               {

What are your suggestions?

Thx:
Dw.
--
dr Tóth Attila, Radiológus, 06-20-825-8057
Attila Toth MD, Radiologist, +36-20-825-8057