Re: copy_to_user does not handle constant length parameter (Linux 2.1.5)

Bob Tracy - TDS (rct@tracy-tds.wlk.com)
Mon, 21 Oct 1996 07:46:58 -0500 (CDT)


Markus Gutschke wrote:
>
> P.S.: I also noticed that passing complex expressions as the source
> and/or destination address for copy_to_user() would result in
> GCC (2.7.2) complaining about a reserved register being
> clobbered.

Regrettably, this would appear to be a confirmed bug sighting. I've
got a complete set of sound driver patches ready to submit, but can't
(won't) do so until I perform at least minimal testing. Following the
evolution (degeneration?) of copy_to_user() into a macro in 2.1.4, I
can no longer compile linux/drivers/sound/patmgr.c. The sequencer.c
source file in the same directory causes similar compiler distress.

Note that for both source files mentioned above, manually compiling
the files without optimization allows the compile to proceed.
Unfortunately, in the case of sequencer.c, the resulting object code
is incorrect and results in several undefined symbols when vmlinux is
built. I say that the object code is incorrect because the undefined
symbols are clearly defined by inspection (and by comparison with
several similar source files).

Is this an "old" bug that is fixed by upgrading gcc to 2.7.2.1?

-- 
Bob Tracy		| "Computers save time like kudzu prevents
AFIWC/AFCERT		|  soil erosion."	-- Al Castanoli
rct@merkin.csap.af.mil	|