Latest working kernel version: 2.6.27 Earliest failing kernel version: 2.6.28-rc2 Problem Description: There is no compat layer for CDROM ioctls. For whatever reason this worked anyway with <= 2.6.27, at least good enough for hal to correctly handle it (it uses at least CDROM_SET_OPTIONS, CDROM_GET_CAPABILITY and CDROM_DRIVE_STATUS).
Looking closer I found 33c2dca4957bd0da3e1af7b96d0758d97e708ef6 (trim file propagation in block/compat_ioctl.c) which removes the compat handling for some of the cdrom ioctls.
Patch: http://marc.info/?l=linux-kernel&m=122548923531545&w=2
Handled-By : Andreas Schwab <schwab@suse.de>
Do I understand correctly that commit 33c2dca4957bd0da3e1af7b96d0758d97e708ef6 caused the problem to happen?
Yes.
First-Bad-Commit : 33c2dca4957bd0da3e1af7b96d0758d97e708ef6
Caused by: commit 33c2dca4957bd0da3e1af7b96d0758d97e708ef6 Author: Al Viro <viro@zeniv.linux.org.uk> Date: Fri Feb 22 22:02:50 2008 -0500 [PATCH] trim file propagation in block/compat_ioctl.c ... and remove the handling of cases when it falls back to native without changing arguments. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Looks good to me Acked-by: Alan Cox <alan@redhat.com> Andreas - can you send Linus a copy of that directly ..
Merged as 1c925604e1038c7c65b91a92d14dc972b3a70a97.