lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f8e5a64a-3909-4c93-8b01-67181ed0f222@gmail.com>
Date: Tue, 8 Apr 2025 21:55:17 +0530
From: "Nirjhar Roy (IBM)" <nirjhar.roy.lists@...il.com>
To: "Darrick J. Wong" <djwong@...nel.org>, Zorro Lang <zlang@...hat.com>
Cc: "Ritesh Harjani (IBM)" <ritesh.list@...il.com>, fstests@...r.kernel.org,
 linux-ext4@...r.kernel.org, linux-xfs@...r.kernel.org,
 ojaswin@...ux.ibm.com, zlang@...nel.org, david@...morbit.com
Subject: Re: [PATCH v2 5/5] common: exit --> _exit


On 4/8/25 20:03, Darrick J. Wong wrote:
> On Tue, Apr 08, 2025 at 10:27:48PM +0800, Zorro Lang wrote:
>> On Tue, Apr 08, 2025 at 12:43:32AM +0530, Nirjhar Roy (IBM) wrote:
>>> On 4/8/25 00:16, Ritesh Harjani (IBM) wrote:
>>>> Zorro Lang <zlang@...hat.com> writes:
>>>>
>>>>> On Fri, Apr 04, 2025 at 10:34:47AM +0530, Ritesh Harjani wrote:
>>>>>> "Nirjhar Roy (IBM)" <nirjhar.roy.lists@...il.com> writes:
>>>>>>
>>>>>>> Replace exit <return-val> with _exit <return-val> which
>>>>>>> is introduced in the previous patch.
>>>>>>>
>>>>>>> Signed-off-by: Nirjhar Roy (IBM) <nirjhar.roy.lists@...il.com>
>>>> <...>
>>>>>>> ---
>>>>>>> @@ -225,7 +225,7 @@ _filter_bmap()
>>>>>>>    die_now()
>>>>>>>    {
>>>>>>>    	status=1
>>>>>>> -	exit
>>>>>>> +	_exit
>>>>>> Why not remove status=1 too and just do _exit 1 here too?
>>>>>> Like how we have done at other places?
>>>>> Yeah, nice catch! As the defination of _exit:
>>>>>
>>>>>     _exit()
>>>>>     {
>>>>>          status="$1"
>>>>>          exit "$status"
>>>>>     }
>>>>>
>>>>> The
>>>>>     "
>>>>>     status=1
>>>>>     exit
>>>>>     "
>>>>> should be equal to:
>>>>>     "
>>>>>     _exit 1
>>>>>     "
>>>>>
>>>>> And "_exit" looks not make sense, due to it gives null to status.
>>>>>
>>>>> Same problem likes below:
>>>>>
>>>>>
>>>>> @@ -3776,7 +3773,7 @@ _get_os_name()
>>>>>                   echo 'linux'
>>>>>           else
>>>>>                   echo Unknown operating system: `uname`
>>>>> -               exit
>>>>> +               _exit
>>>>>
>>>>>
>>>>> The "_exit" without argument looks not make sense.
>>>>>
>>>> That's right. _exit called with no argument could make status as null.
>>> Yes, that is correct.
>>>> To prevent such misuse in future, should we add a warning/echo message
>>> Yeah, the other thing that we can do is 'status=${1:-0}'. In that case, for
>>                                             ^^^^^^^^^^^^^^
>> That's good to me, I'm just wondering if the default value should be "1", to
>> tell us "hey, there's an unknown exit status" :)
> I think status=1 usually means failure...
>
> /usr/include/stdlib.h:92:#define        EXIT_FAILURE    1       /* Failing exit status.  */
> /usr/include/stdlib.h:93:#define        EXIT_SUCCESS    0       /* Successful exit status.  */

Yeah, right. I like Darrick's suggestion to explicitly set the value of 
status in _exit() only if it is passed (test -n "$1" && status="$1"). 
This will preserve any intentional pre-set value of status. I have sent 
a [v3] for this series but haven't modified the definition of _exit. I 
will wait for further comments on [v3] and make this change (along with 
the other changes that will be suggested).

[v3] 
https://lore.kernel.org/all/cover.1744090313.git.nirjhar.roy.lists@gmail.com/

--NR

>
> --D
>
>> Thanks,
>> Zorro
>>
>>> cases where the return value is a success, we simply use "_exit". Which one
>>> do you think adds more value and flexibility to the usage?
>>>
>>> --NR
>>>
>>>> if the no. of arguments passed to _exit() is not 1?
>>>>
>>>> -ritesh
>>> -- 
>>> Nirjhar Roy
>>> Linux Kernel Developer
>>> IBM, Bangalore
>>>
>>
-- 
Nirjhar Roy
Linux Kernel Developer
IBM, Bangalore


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ