I am aware that ioctl has been superseeded by unlocked_ioctl. I've been looking through patches and this seems to be BKL related.

Could someone explain further the differences and reasons for the new ioctl prototype and name?

I guess 'unlocked' means BKL is no longer held inside ioctl, right?

What precautions should we take when using unlocked_ioctl ?

Greetings,
Ezequiel.