IPC

Inter-Process Communication

Hatch letter 19 April 2004 (157-28-G)

Exhibit G pages 10-13: Linux kernel 2.4.21

The files listed are from Linux 2.4.21 [download] [copying]. It was released on 13 June 2003. The next release was 2.4.22 on 25 August 2003. The Hatch letter (157-28), to which this document is an exhibit, was dated 19 April 2004.

SCO/Caldera itself had redistributed these files. The document contains this statement: "At the time it redistributed Linux, SCO was not aware that its intellectual property had been copied or misappropriated and placed into Linux without SCO's authorization or consent."

The true value of SCO's intellectual property claims is best exemplified by include/asm-x86_64/ipc.h.

include/asm-alpha/ipcbuf.h1-28100%
include/asm-alpha/msgbuf.h1-27100%
include/asm-alpha/sembuf.h1-22100%
include/asm-alpha/shmbuf.h1-38100%
include/asm-alpha/shmparam.h1-6100%
include/asm-arm/ipc.h1-28100%
include/asm-arm/ipcbuf.h1-29100%
include/asm-arm/msgbuf.h1-31100%
include/asm-arm/proc-armo/shmparam.h1-19100%
include/asm-arm/proc-armv/shmparam.h1-20100%
include/asm-arm/sembuf.h1-25100%
include/asm-arm/shmbuf.h1-42100%
include/asm-arm/shmparam.h1-13100%
include/asm-cris/ipc.h1-34100%
include/asm-cris/ipcbuf.h1-29100%
include/asm-cris/msgbuf.h1-33100%
include/asm-cris/sembuf.h1-25100%
include/asm-cris/shmbuf.h1-42100%
include/asm-cris/shmparam.h1-8100%
include/asm-i386/ipc.h1-31100%
include/asm-i386/ipcbuf.h1-29100%
include/asm-i386/msgbuf.h1-31100%
include/asm-i386/sembuf.h1-25100%
include/asm-i386/shmbuf.h1-42100%
include/asm-i386/shmparam.h1-6100%
include/asm-ia64/ipcbuf.h1-28100%
include/asm-ia64/msgbuf.h1-27100%
include/asm-ia64/sembuf.h1-22100%
include/asm-ia64/shmbuf.h1-38100%
include/asm-ia64/shmparam.h1-12100%
include/asm-m68k/ipc.h1-31100%
include/asm-m68k/ipcbuf.h1-29100%
include/asm-m68k/msgbuf.h1-31100%
include/asm-m68k/sembuf.h1-25100%
include/asm-m68k/shm.h1-32100%
include/asm-m68k/shmbuf.h1-42100%
include/asm-m68k/shmparam.h1-6100%
include/asm-mips/ipc.h1-32100%
include/asm-mips/ipcbuf.h1-28100%
include/asm-mips/msgbuf.h1-30100%
include/asm-mips/sembuf.h1-22100%
include/asm-mips/shmbuf.h1-38100%
include/asm-mips/shmparam.h1-11100%
include/asm-mips64/ipc.h1-32100%
include/asm-mips64/ipcbuf.h1-28100%
include/asm-mips64/msgbuf.h1-30100%
include/asm-mips64/sembuf.h1-22100%
include/asm-mips64/shmbuf.h1-38100%
include/asm-mips64/shmparam.h1-11100%
include/asm-parisc/ipcbuf.h1-27100%
include/asm-parisc/msgbuf.h1-37100%
include/asm-parisc/sembuf.h1-29100%
include/asm-parisc/shmbuf.h1-58100%
include/asm-parisc/shmparam.h1-6100%
include/asm-ppc/ipc.h1-28100%
include/asm-ppc/ipcbuf.h1-29100%
include/asm-ppc/msgbuf.h1-25100%
include/asm-ppc/sembuf.h1-19100%
include/asm-ppc/shmbuf.h1-37100%
include/asm-ppc/shmparam.h1-6100%
include/asm-ppc64/ipc.h1-33100%
include/asm-ppc64/ipcbuf.h1-28100%
include/asm-ppc64/msgbuf.h1-27100%
include/asm-ppc64/sembuf.h1-27100%
include/asm-ppc64/shmbuf.h1-43100%
include/asm-ppc64/shmparam.h1-13100%
include/asm-s390/ipc.h1-39100%
include/asm-s390/ipcbuf.h1-29100%
include/asm-s390/msgbuf.h1-31100%
include/asm-s390/sembuf.h1-25100%
include/asm-s390/shmbuf.h1-42100%
include/asm-s390/shmparam.h1-13100%
include/asm-s390x/ipc.h1-39100%
include/asm-s390x/ipcbuf.h1-28100%
include/asm-s390x/msgbuf.h1-27100%
include/asm-s390x/sembuf.h1-22100%
include/asm-s390x/shmbuf.h1-38100%
include/asm-s390x/shmparam.h1-13100%
include/asm-sh/ipc.h1-31100%
include/asm-sh/ipcbuf.h1-29100%
include/asm-sh/msgbuf.h1-31100%
include/asm-sh/sembuf.h1-25100%
include/asm-sh/shmbuf.h1-42100%
include/asm-sh/shmparam.h1-13100%
include/asm-sparc/ipc.h1-31100%
include/asm-sparc/ipcbuf.h1-31100%
include/asm-sparc/msgbuf.h1-31100%
include/asm-sparc/sembuf.h1-25100%
include/asm-sparc/shmbuf.h1-42100%
include/asm-sparc/shmparam.h1-10100%
include/asm-sparc64/ipc.h1-32100%
include/asm-sparc64/ipcbuf.h1-28100%
include/asm-sparc64/msgbuf.h1-27100%
include/asm-sparc64/sembuf.h1-22100%
include/asm-sparc64/shmbuf.h1-38100%
include/asm-sparc64/shmparam.h1-10100%
include/asm-x86_64/ipc.h1-7100%
include/asm-x86_64/ipcbuf.h1-29100%
include/asm-x86_64/msgbuf.h1-27100%
include/asm-x86_64/sembuf.h1-25100%
include/asm-x86_64/shmbuf.h1-38100%
include/linux/ipc.h1-72100%
include/linux/msg.h1-73100%
include/linux/sem.h1-130100%
include/linux/shm.h1-87100%
ipc/msg.c1-905100%
ipc/sem.c1-1104100%
ipc/shm.c1-751100%
ipc/util.c1-408100%
ipc/util.h1-107100%

Total 110 files, 6387 lines

Gupta Declaration 7 July 2004 (467)

Pages 15-20: Linux kernels 2.4.20 and 2.6.0

Gupta's discussion is sealed, but the unsealed Exhibits are three files from Linux 2.4.20 [download] [copying]. It was released on 28 November 2002. The next release was 2.4.21 on 13 June 2003. The use of this particular version is strange, given that the previous the Hatch letter used 2.4.21 (see above). One possible explanation is that the printed Exhibits were prepared using lxr, which offers only a limited range of versions.

include/linux/sem.h497 Exhibit N pp. 172-175
include/linux/msg.h497 Exhibit Q pp. 177-179
include/linux/shm.h497 Exhibit T pp. 181-183

Additionally, the Davis declaration (235-C page 10 footnote 1) reveals another file discussed by Gupta:

ipc/util.c119-152

No version for this file is given, but examination of the file's history at LinuxHQ reveals that Gupta's version must be between 2.5.51 and 2.6.5 inclusive - probably 2.6.0 like his ULS code, or 2.6.5 like his RCU code.

Pages 21-23: glibc sysvipc

Gupta describes "certain UNIX System V headers and interfaces that are copied either identically or substantially similarly in Linux". He cites the source as "SCO-copyrighted documentation, such as manual pages". All further information is redacted, but clues are given a subsequent memo from SCO (286 page 10) "Paragraphs 63-72 of Mr. Gupta's declaration explain that a copy of the UNIX System V IPC header code appears in Linux", and in the Kernighan Declaration (456 page 8) "Mr. Gupta's claims for "certain UNIX System V headers and interfaces" [...] concern code that is not found in the Linux kernel". The obvious candidates to reconcile these two statements are the glibc header files ipc.h, msg.h, sem.h and shm.h, which on a GNU/Linux system are installed into /usr/include/sys.