On 4/25/20 1:57 AM, Christoph Hellwig wrote:
>       if (HFSPLUS_SB(sb)->session >= 0) {
> +             struct cdrom_tocentry te;
> +
> +             if (!cdi)
> +                     return -EINVAL;
> +
>               te.cdte_track = HFSPLUS_SB(sb)->session;
>               te.cdte_format = CDROM_LBA;
> -             res = ioctl_by_bdev(sb->s_bdev,
> -                     CDROMREADTOCENTRY, (unsigned long)&te);
> -             if (!res && (te.cdte_ctrl & CDROM_DATA_TRACK) == 4) {
> -                     *start = (sector_t)te.cdte_addr.lba << 2;
> -                     return 0;
> +             if (cdrom_read_tocentry(cdi, &te) ||
> +                 (te.cdte_ctrl & CDROM_DATA_TRACK) != 4) {
> +                     pr_err("invalid session number or type of track\n");
> +                     return -EINVAL;
>               }

I must be missing something obvious from just looking over the patches,
but how does this work if cdrom is modular and hfsplus is builtin?

-- 
Jens Axboe

Reply via email to