Re: [PATCH v7 3/8] firmware: Rename FW_OPT_NOFALLBACK to FW_OPT_NOFALLBACK_SYSFS

Hans de Goede
2019-11-14T20:22:25Z

Hi,

On 11-10-2019 17:02, Luis Chamberlain wrote:
> On Fri, Oct 04, 2019 at 04:50:51PM +0200, Hans de Goede wrote:
>> diff --git a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c
>> index 62ee90b4db56..665b350419cb 100644
>> --- a/drivers/base/firmware_loader/fallback.c
>> +++ b/drivers/base/firmware_loader/fallback.c
>> @@ -606,7 +606,7 @@ static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
>> return false;
>> }
>>
>> - if ((opt_flags & FW_OPT_NOFALLBACK))
>> + if ((opt_flags & FW_OPT_NOFALLBACK_SYSFS))
>> return false;
>>
>> /* Also permit LSMs and IMA to fail firmware sysfs fallback */
>> @@ -630,10 +630,11 @@ static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
>> * interface. Userspace is in charge of loading the firmware through the sysfs
>> * loading interface. This sysfs fallback mechanism may be disabled completely
>> * on a system by setting the proc sysctl value ignore_sysfs_fallback to true.
>> - * If this false we check if the internal API caller set the @FW_OPT_NOFALLBACK
>> - * flag, if so it would also disable the fallback mechanism. A system may want
>> - * to enfoce the sysfs fallback mechanism at all times, it can do this by
>> - * setting ignore_sysfs_fallback to false and force_sysfs_fallback to true.
>> + * If this false we check if the internal API caller set the
> ignore_sysfs_fallback set to true or force_sysfs_fallback is
> set to false

I do not think that that is correct, looking at the code the order of
checks is:

if (fw_fallback_config.ignore_sysfs_fallback)
BAIL

if (opt_flags & FW_OPT_NOFALLBACK_SYSFS)
BAIL

if (fw_fallback_config.force_sysfs_fallback)
DO_FALLBACK (and return)

if (!(opt_flags & FW_OPT_USERHELPER))
BAIL

DO_FALLBACK

So the original comment seems correct as FW_OPT_NOFALLBACK trumps / has
higher prio then force_sysfs_fallback.

Anyways I do not believe that fixing up/rewording this comment (if it needs
fixing) belongs in the commit/patch. This patch is purely about renaming
FW_OPT_NOFALLBACK to FW_OPT_NOFALLBACK_SYSFS, the lines changed in this
chunk are not changed, they are merely re-word/line-wrapped with the
exception of fixing the enfoce typo to enforce, as mentioned in the
commit message.

Regards,

Hans