lkml.org 
[lkml]   [2019]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v2 1/2] PTP: introduce new versions of IOCTLs
Date

Hi,

Richard Cochran <richardcochran@gmail.com> writes:
>> @@ -139,11 +141,24 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg)
>> break;
>>
>> case PTP_EXTTS_REQUEST:
>> + case PTP_EXTTS_REQUEST2:
>> + memset(&req, 0, sizeof(req));
>> +
>> if (copy_from_user(&req.extts, (void __user *)arg,
>> sizeof(req.extts))) {
>> err = -EFAULT;
>> break;
>> }
>> + if ((req.extts.flags || req.extts.rsv[0] || req.extts.rsv[1])
>> + && cmd == PTP_EXTTS_REQUEST2) {
>> + err = -EINVAL;
>> + break;
>> + } else if (cmd == PTP_EXTTS_REQUEST) {
>> + req.extts.flags = 0;
>
> This still isn't quite right. Sorry that was my fault.
>
> The req.extts.flags can be (PTP_ENABLE_FEATURE | PTP_RISING_EDGE |
> PTP_FALLING_EDGE), and ENABLE is used immediately below in this case.
>
> Please #define those bits into a valid mask, and then:
>
> - for PTP_EXTTS_REQUEST2 check that ~mask is zero, and
> - for PTP_EXTTS_REQUEST clear the ~mask bits for the drivers.
>
> Thanks again for cleaning this up!

good point. This will actually reduce the size of the patch 2.

--
balbi
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2019-08-30 09:59    [W:0.083 / U:4.676 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site