Re: Why does x86_64 support a SuSE-specific ioctl?

H. Peter Anvin (hpa@zytor.com)
5 Oct 2002 00:56:31 -0700


Followup to: <p73adltqz9g.fsf@oldwotan.suse.de>
By author: Andi Kleen <ak@suse.de>
In newsgroup: linux.dev.kernel
>
> Adrian Bunk <bunk@fs.tum.de> writes:
> >
> > TIOCGDEV is (as the comment above indicates) in neither 2.4.20-pre9 nor in
> > 2.5.40 and I'm wondering why the x86_64 kernel supports a SuSE-specific
> > i386 ioctl?
>
> Why not?
>
> I resubmitted the TIOCGDEV patch to Marcelo now, which implements it
> for the console device.
>

> -
> + case TIOCGDEV:
> + return put_user (kdev_t_to_nr (real_tty->device), (unsigned int*) arg);

This is broken -- you're returning a dev_t as an unsigned int. On
i386 that means overwriting two bytes of userspace you shouldn't be,
and if dev_t > unsigned int in the future it has the opposite problem.
Note that this is different from TIOCGPTN which return a pts number,
not a dev_t.

-hpa

-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt	<amsp@zytor.com>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/