Re: [PATCH RESEND] block: improve ioprio value validity checks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/9/23 16:46, Linus Walleij wrote:
> On Thu, Jun 8, 2023 at 11:55 AM Damien Le Moal <dlemoal@xxxxxxxxxx> wrote:
> 
>> The introduction of the macro IOPRIO_PRIO_LEVEL() in commit
>> eca2040972b4 ("scsi: block: ioprio: Clean up interface definition")
>> results in an iopriority level to always be masked using the macro
>> IOPRIO_LEVEL_MASK, and thus to the kernel always seeing an acceptable
>> value for an I/O priority level when checked in ioprio_check_cap().
>> Before this patch, this function would return an error for some (but not
>> all) invalid values for a level valid range of [0..7].
>>
>> Restore and improve the detection of invalid priority levels by
>> introducing the inline function ioprio_value() to check an ioprio class,
>> level and hint value before combining these fields into a single value
>> to be used with ioprio_set() or AIOs. If an invalid value for the class,
>> level or hint of an ioprio is detected, ioprio_value() returns an ioprio
>> using the class IOPRIO_CLASS_INVALID, indicating an invalid value and
>> causing ioprio_check_cap() to return -EINVAL.
>>
>> Fixes: 6c913257226a ("scsi: block: Introduce ioprio hints")
>> Fixes: eca2040972b4 ("scsi: block: ioprio: Clean up interface definition")
>> Signed-off-by: Damien Le Moal <dlemoal@xxxxxxxxxx>
> 
> This makes it easier to get things right.
> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Thanks Linus !

Martin,

can you queue this please ?

> 
> Yours,
> Linus Walleij

-- 
Damien Le Moal
Western Digital Research




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux