Thread (15 messages) 15 messages, 6 authors, 2012-10-12

Re: [patch] isdn: fix a wrapping bug in isdn_ppp_ioctl()

flat view

From: Karsten Keil <hidden>
Date: 2012-10-12 07:50:37
Also in: kernel-janitors

Hi,
Am 10.10.2012 17:52, schrieb Joe Perches:
On Wed, 2012-10-10 at 16:44 +0100, David Laight wrote:
quoted
quoted
On Wed, 2012-10-10 at 15:59 +0100, David Laight wrote:
quoted
Seems to me the code is expecting 256 bits of data, not any multiple of int,
long or anything else.
include/linux/isdn_ppp.h:#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8])
That doesn't mean the whole thing makes any sense on 64bit systems.
A whole load of historic code used 'long' to ensure 32bit.
Some of that might have crept into Linux sources.
Very true, but it's exported via copy_to_user.
quoted
Since I suspect there are a maximum of 256 bits on both 32 and 64bit
systems, I wouldn't like to guess exactly how any particular 64bit
application chooses to check the bitmap.

The ioctl constant may be wrong on 64 bit systems.
shrug.  Not much to do about it now.
isdn isn't very active.

Karsten?  What do you think?
I use ipppd as testbench to test remote connections via different PPP
clients running on a 64 bit system without problems so far - but I did
not use any compressions for some years, so maybe this code was never
tested on 64 bit and at least not on mixed 32/64 bit systems.
If I will find some time, I will check if the compression works.
I did not wrote this part, so I cannot say how the code should work
correctly out of the box, I  need to analyze this first by myself.

Karsten
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help