[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#494308: binary firmware in drivers/net/e100.c



Package: linux-2.6
Version: 2.6.26-2
Severity: serious

Hi,

drivers/net/e100.c (licensed under GPLv2) contains three chunks of binary
firmware, such as:

/********************************************************/
/*  Micro code for 8086:1229 Rev 8                      */
/********************************************************/

[...]

#define D101M_B_RCVBUNDLE_UCODE \
{\
0x00550215, 0xFFFF0437, 0xFFFFFFFF, 0x06A70789, 0xFFFFFFFF, 0x0558FFFF, \
[...]

As promised, based on the input from Steve Langasek on #494120 and other bugs,
I'm analizing whether the data falls under the cathegory of "small chunk of
non-code" for this and future bugs.

The chunks in question are clearly marked as code ("Micro code" in the comment,
and "UCODE" in the macro name).  As for their size, they're much bigger than
the 64 B that rised a reasonable doubt in #494120.  Each of them amounts to
536 B.

In this case it is obvious that Intel used other source code to generate that
file, which AFAICT isn't included in Linux.

Since the licensing terms allow redistribution, shipping them is not illegal
but is a DFSG violation.

Note:

The driver itself only seems to require the firmware blobs for a subset of
the devices it supports, as indicated by:

        /* do not load u-code for ICH devices */
        if (nic->flags & ich)
                goto noloaducode;

which makes me believe ICH devices can be supported without non-free code.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.18-6-amd64 (SMP w/2 CPU cores)
Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash



Reply to: