login: Use struct flock64 in utmp [BZ #24880]

Message ID 875zn2vh9f.fsf@oldenburg2.str.redhat.com
State Committed
Headers

Commit Message

Florian Weimer Aug. 12, 2019, 9:56 a.m. UTC
  Commit 06ab719d30b01da401150068054d3b8ea93dd12f ("Fix Linux fcntl OFD
locks for non-LFS architectures (BZ#20251)") introduced the use of
fcntl64 into the utmp implementation.  However, the lock file
structure was not updated to struct flock64 at that point.

2019-08-05  Florian Weimer  <fweimer@redhat.com>

	[BZ #24880]
	* login/utmp_file.c (file_locking_failed): Use struct flock64.
	(file_locking_unlock): Likewise.
  

Comments

Adhemerval Zanella Netto Aug. 12, 2019, 7:41 p.m. UTC | #1
On 12/08/2019 06:56, Florian Weimer wrote:
> Commit 06ab719d30b01da401150068054d3b8ea93dd12f ("Fix Linux fcntl OFD
> locks for non-LFS architectures (BZ#20251)") introduced the use of
> fcntl64 into the utmp implementation.  However, the lock file
> structure was not updated to struct flock64 at that point.
> 
> 2019-08-05  Florian Weimer  <fweimer@redhat.com>
> 
> 	[BZ #24880]
> 	* login/utmp_file.c (file_locking_failed): Use struct flock64.
> 	(file_locking_unlock): Likewise.

LGTM, with a nit below.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

> 
> diff --git a/login/utmp_file.c b/login/utmp_file.c
> index 9c64ebf63c..a3e9af1fa3 100644
> --- a/login/utmp_file.c
> +++ b/login/utmp_file.c
> @@ -76,7 +76,7 @@ file_locking_failed (int fd, int type)
>    alarm (TIMEOUT);
>  
>    /* Try to get the lock.  */
> - struct flock fl =
> + struct flock64 fl =
>     {
>      .l_type = type,
>      fl.l_whence = SEEK_SET,
> @@ -103,7 +103,7 @@ file_locking_failed (int fd, int type)
>  static void
>  file_locking_unlock (int fd)
>  {
> -  struct flock fl =
> +  struct flock64 fl =
>      {
>        .l_type = F_UNLCK,
>      };
>
  
Florian Weimer Aug. 12, 2019, 7:53 p.m. UTC | #2
* Adhemerval Zanella:

> On 12/08/2019 06:56, Florian Weimer wrote:
>> Commit 06ab719d30b01da401150068054d3b8ea93dd12f ("Fix Linux fcntl OFD
>> locks for non-LFS architectures (BZ#20251)") introduced the use of
>> fcntl64 into the utmp implementation.  However, the lock file
>> structure was not updated to struct flock64 at that point.
>> 
>> 2019-08-05  Florian Weimer  <fweimer@redhat.com>
>> 
>> 	[BZ #24880]
>> 	* login/utmp_file.c (file_locking_failed): Use struct flock64.
>> 	(file_locking_unlock): Likewise.
>
> LGTM, with a nit below.
>
> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>
>> 
>> diff --git a/login/utmp_file.c b/login/utmp_file.c
>> index 9c64ebf63c..a3e9af1fa3 100644
>> --- a/login/utmp_file.c
>> +++ b/login/utmp_file.c
>> @@ -76,7 +76,7 @@ file_locking_failed (int fd, int type)
>>    alarm (TIMEOUT);
>>  
>>    /* Try to get the lock.  */
>> - struct flock fl =
>> + struct flock64 fl =
>>     {
>>      .l_type = type,
>>      fl.l_whence = SEEK_SET,
>> @@ -103,7 +103,7 @@ file_locking_failed (int fd, int type)
>>  static void
>>  file_locking_unlock (int fd)
>>  {
>> -  struct flock fl =
>> +  struct flock64 fl =
>>      {
>>        .l_type = F_UNLCK,
>>      };
>> 

What's the nit?

Thanks,
Florian
  
Adhemerval Zanella Netto Aug. 12, 2019, 8:06 p.m. UTC | #3
On 12/08/2019 16:53, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>> On 12/08/2019 06:56, Florian Weimer wrote:
>>> Commit 06ab719d30b01da401150068054d3b8ea93dd12f ("Fix Linux fcntl OFD
>>> locks for non-LFS architectures (BZ#20251)") introduced the use of
>>> fcntl64 into the utmp implementation.  However, the lock file
>>> structure was not updated to struct flock64 at that point.
>>>
>>> 2019-08-05  Florian Weimer  <fweimer@redhat.com>
>>>
>>> 	[BZ #24880]
>>> 	* login/utmp_file.c (file_locking_failed): Use struct flock64.
>>> 	(file_locking_unlock): Likewise.
>>
>> LGTM, with a nit below.

It should be only 'LGTM', sorry for the noise.

>>
>> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>>
>>>
>>> diff --git a/login/utmp_file.c b/login/utmp_file.c
>>> index 9c64ebf63c..a3e9af1fa3 100644
>>> --- a/login/utmp_file.c
>>> +++ b/login/utmp_file.c
>>> @@ -76,7 +76,7 @@ file_locking_failed (int fd, int type)
>>>    alarm (TIMEOUT);
>>>  
>>>    /* Try to get the lock.  */
>>> - struct flock fl =
>>> + struct flock64 fl =
>>>     {
>>>      .l_type = type,
>>>      fl.l_whence = SEEK_SET,
>>> @@ -103,7 +103,7 @@ file_locking_failed (int fd, int type)
>>>  static void
>>>  file_locking_unlock (int fd)
>>>  {
>>> -  struct flock fl =
>>> +  struct flock64 fl =
>>>      {
>>>        .l_type = F_UNLCK,
>>>      };
>>>
> 
> What's the nit?
> 
> Thanks,
> Florian
>
  

Patch

diff --git a/login/utmp_file.c b/login/utmp_file.c
index 9c64ebf63c..a3e9af1fa3 100644
--- a/login/utmp_file.c
+++ b/login/utmp_file.c
@@ -76,7 +76,7 @@  file_locking_failed (int fd, int type)
   alarm (TIMEOUT);
 
   /* Try to get the lock.  */
- struct flock fl =
+ struct flock64 fl =
    {
     .l_type = type,
     fl.l_whence = SEEK_SET,
@@ -103,7 +103,7 @@  file_locking_failed (int fd, int type)
 static void
 file_locking_unlock (int fd)
 {
-  struct flock fl =
+  struct flock64 fl =
     {
       .l_type = F_UNLCK,
     };