Обработчик IOCTL моего драйвера перенаправляет IOCTL запросы другому драйверу. Это прекрасно работало, но когда понадобилось добавить поддержку ядра 5.10, выяснилось, что старый способ больше не работает. Как теперь это можно провернуть?
#define TARGET_ID "TGT"
// ...
char id[sizeof(TARGET_ID)];
// ...
mm_segment_t old_fs = get_fs();
set_fs(KERNEL_DS);
res = __blkdev_driver_ioctl(dev->bdev_raw, 0, SCSI_IOCTL_TARGET_ID, (unsigned long)id);
set_fs(old_fs);
if(0 == strcmp(id, TARGET_ID))
{
PINFO("*** target driver detected! ***\n");
dev->is_target_driver = true;
}
else
{
...