Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Aug 2003 15:26:38 +0200 (CEST)
From:      Martin Nilsson <martin@gneto.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/55835: Linux IPC emulation missing SETALL syscall
Message-ID:  <20030821132638.81F074AC0@platon.gneto.com>
Resent-Message-ID: <200308211330.h7LDUErP033537@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         55835
>Category:       kern
>Synopsis:       Linux IPC emulation missing SETALL syscall
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 21 06:30:14 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Martin Nilsson
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
>Environment:
System: FreeBSD platon.gneto.com 4.8-STABLE FreeBSD 4.8-STABLE #0: Tue Aug 12 11:25:17 CEST 2003 martin@platon.gneto.com:/usr/obj/ext/FreeBSD/RELENG_4/sys/PLATON i386


	
>Description:
This patch implements the missing SETALL syscall in linux_ipc.c
With this patch I'm able to run the Linux version of the PervasiveSQL 2000 database
Pervasive.SQL-7.94.251.005-2000i.i386.rpm

Pervasive V8 requires further work.

Can somebody please check if it really is this easy to implement the LINUX_SETALL call!

Work on this sponsored by: Harrys Bilskrot AB (www.harrysbilskrot.se) 
>How-To-Repeat:
	
>Fix:

Patch is against todays RELENG_4 this part of the code doesn't seem to be changed in CURRENT

--- sys/compat/linux/linux_ipc.c.orig   Mon Nov  5 20:08:22 2001
+++ sys/compat/linux/linux_ipc.c        Thu Aug 21 15:13:54 2003
@@ -291,9 +291,10 @@
                        return error;
                p->p_retval[0] = seminfo.semmni;
                return 0;                       /* No need for __semctl call */
-       case LINUX_GETALL:
-               /* FALLTHROUGH */
        case LINUX_SETALL:
+               bsd_args.cmd = SETALL;
+               break;
+       case LINUX_GETALL:
                /* FALLTHROUGH */
        default:
                uprintf("linux: 'ipc' typ=%d not implemented\n", args->cmd);


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030821132638.81F074AC0>