From owner-cvs-all Mon May 21 19:36:51 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id B33AC37B422; Mon, 21 May 2001 19:36:47 -0700 (PDT) (envelope-from grog@FreeBSD.org) Received: (from grog@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f4M2alK16427; Mon, 21 May 2001 19:36:47 -0700 (PDT) (envelope-from grog) Message-Id: <200105220236.f4M2alK16427@freefall.freebsd.org> From: Greg Lehey Date: Mon, 21 May 2001 19:36:47 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/vinum vinumrequest.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG grog 2001/05/21 19:36:47 PDT Modified files: sys/dev/vinum vinumrequest.c Log: vinumstart: If a write request is for a RAID-[45] plex or a volume with more than one plex, the data will be accessed multiple times. During this time, userland code could potentially modify the buffer, thus causing data corruption. In the case of a multi-plexed volume this might be cosmetic, but in the case of a RAID-[45] plex it can cause severe data corruption which only becomes evident after a drive failure. Avoid this situation by making a copy of the data buffer before using it. Note that this solution does not guarantee any particular content of the buffer, just that it remains unchanged for the duration of the request. Suggested by: alfred Revision Changes Path 1.55 +23 -13 src/sys/dev/vinum/vinumrequest.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message