GPL License violation

Lutz Boehne lboehne at damogran.de
Sun Oct 8 15:54:37 PDT 2006


Dear Jonathan, -hackers and -chat

first of all, the freebsd-audit mailinglist has been dead for a few 
months now (I wonder why I'm even still subscribed, I think it has been 
officially retired some time ago) and your e-mail is not related to 
"FreeBSD Security Auditing" either.

I'm not quite sure where your message would fit best, so for now I'm 
CCing freebsd-hackers and freebsd-chat.

Regarding your issue: I tried several greps on a fresh copy of the 
FreeBSD RELENG_6 source tree and couldn't find the code you're referring 
to.

For instance, egrepping recursively for "movl.*20.*eax.*edi" (which 
finds the line  "movl 20(%%eax),%%edi\n\t" in Linuxes i8k.c just fine) 
will turn up any results.

Also, grepping recursively for just the "lahf" instruction wouldn't find 
it in any context similar to the one you attached.

Grepping for Dell or Toshiba didn't turn up anything useful either.

There are at least three possibilities now:
- my grep skills are lacking, or
- the code is gone from the FreeBSD source (or it is not in RELENG_6, 
but -CURRENT), or
- the person who sent you that e-mail is mistaken.

In any case, I suggest you get back to that person and ask for more 
information.


Regards,

Lutz

Jonathan Buzzard wrote:
> I received an email yesterday asking about the license of some code
> found in FreeBSD to turn the fan on a Dell laptop on/off, the code in
> question is shown below. I do not know exactly where in FreeBSD this
> code lies, as I do not use FreeBSD. Neither do I want or should have to
> go looking for it.
> 
> This code has been lifted verbatim out of drivers/char/i8k.c in Linux,
> which in itself was a minor modification of code in
> drivers/char/toshiba.c mdae by myself. This code dates back to January
> 1998, and was first included in Linux around 2.2.20. I am the original
> author of this code, and it is clearly and only ever licensed under the
> GPL. I must insist that it be removed forwith from FreeBSD.
> 
> JAB.
> 
> 
> (cut along the line)
> -------8<-------8<-------8<-------8<-------8<-------8<-------8<-------8<-------
> 
> 	asm("pushl %%eax\n\t" \
>        "movl 0(%%eax),%%edx\n\t" \
> 	   "push %%edx\n\t" \
> 	   "movl 4(%%eax),%%ebx\n\t" \
> 	   "movl 8(%%eax),%%ecx\n\t" \
> 	   "movl 12(%%eax),%%edx\n\t" \
> 	   "movl 16(%%eax),%%esi\n\t" \
> 	   "movl 20(%%eax),%%edi\n\t" \
> 	   "popl %%eax\n\t" \
> 	   "out %%al,$0xb2\n\t" \
> 	   "out %%al,$0x84\n\t" \
> 	   "xchgl %%eax,(%%esp)\n\t"
> 	   "movl %%ebx,4(%%eax)\n\t" \
> 	   "movl %%ecx,8(%%eax)\n\t" \
> 	   "movl %%edx,12(%%eax)\n\t" \
> 	   "movl %%esi,16(%%eax)\n\t" \
> 	   "movl %%edi,20(%%eax)\n\t" \
> 	   "popl %%edx\n\t" \
> 	   "movl %%edx,0(%%eax)\n\t" \
> 	   "lahf\n\t" \
> 	   "shrl $8,%%eax\n\t" \
> 	   "andl $1,%%eax\n" \
> 	    : "=a" (rc)
> 	    : "a" (regs)
> 	    : "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory");
> 
> 
>     if ((rc != 0) || ((regs->eax & 0xffff) == 0xffff) || (regs->eax ==
> eax))
>     {
>     	return -1;
>     }
> 
> -------8<-------8<-------8<-------8<-------8<-------8<-------8<-------8<-------
> 
> 
> 

-- 
Lutz Boehne - http://www.damogran.de



More information about the freebsd-chat mailing list