From owner-freebsd-emulation@FreeBSD.ORG Mon Jun 26 10:33:48 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4470016A404 for ; Mon, 26 Jun 2006 10:33:48 +0000 (UTC) (envelope-from dima@apk-inform.com) Received: from mail.dp.ukrtel.net (mail.dp.ukrtel.net [195.5.61.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id D607C444C0 for ; Mon, 26 Jun 2006 10:33:23 +0000 (GMT) (envelope-from dima@apk-inform.com) Received: from apk-inform.com (apk-inform.com [82.207.49.27]) by mail.dp.ukrtel.net (8.13.1/8.13.1) with ESMTP id k5QAhAmI071740; Mon, 26 Jun 2006 13:43:10 +0300 (EEST) (envelope-from dima@apk-inform.com) Received: from alpha.aic-inf.dp.ua (alpha.aic-inf.dp.ua [10.0.2.5]) by apk-inform.com (8.12.11/8.12.11) with ESMTP id k5QAX3Iq077571; Mon, 26 Jun 2006 13:33:16 +0300 (EEST) (envelope-from dima@apk-inform.com) Date: Mon, 26 Jun 2006 13:34:51 +0300 From: Dmitry Ganenko X-Mailer: The Bat! (v1.61) UNREG / CD5BF9353B3B7091 X-Priority: 3 (Normal) Message-ID: <1269796593.20060626133451@apk-inform.com> To: Divacky Roman In-Reply-To: <20060624110951.GA21539@stud.fit.vutbr.cz> References: <885310187.20060623143520@apk-inform.com> <20060624110951.GA21539@stud.fit.vutbr.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Ukrtelecom-MailScanner-Information: Please contact the ISP for more information X-Ukrtelecom-MailScanner: Found to be clean X-MailScanner-From: dima@apk-inform.com Cc: freebsd-emulation@freebsd.org Subject: Re[2]: Installation of Oracle10g Express Edition on FreeBSD 5.4-RELEASE X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Dmitry Ganenko List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2006 10:33:48 -0000 Saturday, June 24, 2006, 2:09:51 PM, you wrote: DR> pls, can you explain how this manifest in the oracle? I agree that this is a DR> bug but I am not sure why noone noticed this. the fact is that most people use DR> "cat /proc/x/y" and cat reads 1024 bytes in this case so this doesnt manifest Oracle XE does not start without this patch. I see in trace file that oracle process enumerates all running processes (/compat/linux/proc//cmdline) with call of read(fd, buf, 8) and read() returns it 7 bytes, and oracle do it while file descriptors available. After reaching maxfilesperproc, oracle exit with "single instance violation error". >> File patch3 >> >> --- fs/pseudofs/pseudofs_vnops.c.orig Mon Sep 6 22:38:01 2004 >> +++ fs/pseudofs/pseudofs_vnops.c Wed Jun 21 11:14:14 2006 >> @@ -530,7 +530,7 @@ pfs_read(struct vop_read_args *va) >> PRELE(proc); >> PFS_RETURN (EIO); >> } >> - sb = sbuf_new(sb, NULL, buflen, 0); >> + sb = sbuf_new(sb, NULL, buflen+1, 0); >> if (sb == NULL) { >> if (proc != NULL) >> PRELE(proc); DR> this is wrong... DR> what about this: DR> Index: pseudofs_vnops.c DR> =================================================================== DR> RCS file: /home/ncvs/src/sys/fs/pseudofs/pseudofs_vnops.c,v DR> retrieving revision 1.59 DR> diff -u -r1.59 pseudofs_vnops.c DR> --- pseudofs_vnops.c 22 Feb 2006 18:57:49 -0000 1.59 DR> +++ pseudofs_vnops.c 24 Jun 2006 11:08:59 -0000 DR> @@ -515,7 +515,7 @@ DR> if (uio->uio_offset < 0 || uio->uio_resid < 0 || DR> (offset = uio->uio_offset) != uio->uio_offset || DR> (resid = uio->uio_resid) != uio->uio_resid || DR> - (buflen = offset + resid) < offset || buflen > INT_MAX) { DR> + (buflen = offset + resid + 1) < offset || buflen > INT_MAX) { DR> if (proc != NULL) DR> PRELE(proc); DR> PFS_RETURN (EINVAL); Thanks for correction. I'm from beginning said that may be I'm not right. :) WBR, Dmitry Ganenko.