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] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 15 May 2018 10:48:11 -0700
From:   Deepa Dinamani <deepa.kernel@...il.com>
To:     Jan Kara <jack@...e.cz>
Cc:     Alexander Viro <viro@...iv.linux.org.uk>,
        Thomas Gleixner <tglx@...utronix.de>,
        Arnd Bergmann <arnd@...db.de>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux FS-devel Mailing List <linux-fsdevel@...r.kernel.org>,
        y2038 Mailman List <y2038@...ts.linaro.org>,
        Jan Kara <jack@...e.com>
Subject: Re: [PATCH 5/6] udf: Simplify calls to udf_disk_stamp_to_time

On Mon, May 14, 2018 at 6:57 AM, Jan Kara <jack@...e.cz> wrote:
> Hello,
>
> On Fri 11-05-18 21:59:20, Deepa Dinamani wrote:
>> Subsequent patches in the series convert inode timestamps
>> to use struct timespec64 instead of struct timespec as
>> part of solving the y2038 problem.
>>
>> commit fd3cfad374d4 ("udf: Convert udf_disk_stamp_to_time() to use mktime64()")
>> eliminated the NULL return condition from udf_disk_stamp_to_time().
>> udf_time_to_disk_time() is always called with a valid dest pointer and
>> the return value is ignored.
>> Further, caller can as well check the dest pointer being passed in rather
>> than return argument.
>> Make both the functions return void.
>>
>> This will make the inode timestamp conversion simpler.
>>
>> Signed-off-by: Deepa Dinamani <deepa.kernel@...il.com>
>> Cc: jack@...e.com
>
> I'm fine with this. Just one bug below:
>
>> diff --git a/fs/udf/super.c b/fs/udf/super.c
>> index 0d27d41f5c6e..bd0ae64bc31c 100644
>> --- a/fs/udf/super.c
>> +++ b/fs/udf/super.c
>> @@ -862,6 +862,9 @@ static int udf_load_pvoldesc(struct super_block *sb, sector_t block)
>>       struct buffer_head *bh;
>>       uint16_t ident;
>>       int ret = -ENOMEM;
>> +#ifdef UDFFS_DEBUG
>> +     struct timestamp *ts;
>> +#endif
>>
>>       outstr = kmalloc(128, GFP_NOFS);
>>       if (!outstr)
>> @@ -880,15 +883,14 @@ static int udf_load_pvoldesc(struct super_block *sb, sector_t block)
>>
>>       pvoldesc = (struct primaryVolDesc *)bh->b_data;
>>
>> -     if (udf_disk_stamp_to_time(&UDF_SB(sb)->s_record_time,
>> -                           pvoldesc->recordingDateAndTime)) {
>> +     udf_disk_stamp_to_time(&UDF_SB(sb)->s_record_time,
>> +                           pvoldesc->recordingDateAndTime);
>>  #ifdef UDFFS_DEBUG
>> -             struct timestamp *ts = &pvoldesc->recordingDateAndTime;
>> -             udf_debug("recording time %04u/%02u/%02u %02u:%02u (%x)\n",
>> -                       le16_to_cpu(ts->year), ts->month, ts->day, ts->hour,
>> -                       ts->minute, le16_to_cpu(ts->typeAndTimezone));
>> +     *ts = &pvoldesc->recordingDateAndTime;
>
> This should be 'ts ='.

Thanks, I will fix this in v2.

> Do you prefer me taking this patch through my tree or will you carry it as
> a part of your series?

I can carry the patch as part of the series.

-Deepa

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ