> I think this is fundamentally wrong. > ABORT_TASK is used to abort a single task, which of course has to be > known beforehand. If you don't know the task, what exactly do you hope > to achieve here? Aborting random I/O? > Or, even worse, aborting I/O the driver uses internally and corrupt the > internal workflow of the driver? This patch is nothing but a case-addition to the existing code. I also have a doubt here why the first picked SMID should be aborted/queried, but not for this time in this patch. > > We should simply disallow any ABORT TASK from userspace if the TaskMID > is zero. And I would even argue to disabllow ABORT TASK from userspace > completely, as the smid is never relayed to userland, and as such the > user cannot know which task should be aborted. System administrator might want to query task or abort task if something happens based on the tag in block layer via debugfs or some logs. You're right that userspaces has nothing to do with the tag generation which will be held inside block layer. But some of administrator would know the relationship between smid and tag which can be found at debugfs or the logs. I'm not sure if it's okay to be picked, but if we can request TMF for the Targeted smid to the HBA firmware, it would be great to test devices or Figure out what happened in the target device. Thanks,