Hi Geert, Thanks for the feedback. > Subject: Re: [PATCH v3 2/4] rtc: pcf85363: Add support for NXP pcf85263 rtc > > Hi Biju, > > On Fri, Dec 7, 2018 at 10:34 AM Biju Das <biju.das@xxxxxxxxxxxxxx> wrote: > > > Subject: Re: [PATCH v3 2/4] rtc: pcf85363: Add support for NXP > > > pcf85263 rtc > > > > > > On 06/12/2018 15:49:57+0000, Biju Das wrote: > > > > > > Subject: Re: [PATCH v3 2/4] rtc: pcf85363: Add support for NXP > > > > > pcf85263 rtc > > > > > > On Thu, Dec 6, 2018 at 4:24 PM Biju Das > > > > > <biju.das@xxxxxxxxxxxxxx> > > > wrote: > > > > > > > Subject: Re: [PATCH v3 2/4] rtc: pcf85363: Add support for > > > > > > > NXP > > > > > > > pcf85263 rtc CC nvmem maintainer Given bytes should be 1, > > > > > > > val should be a pointer to a single byte... > > > > > > > What if bytes == 0? > > > > > > > > > > > > I doubt we get "bytes==0" because of the checks in " > > > > > drivers/nvmem/core.c" > > > > > > Function " bin_attr_nvmem_read/ bin_attr_nvmem_write". > > > > > > > > > > Depends. There are other functions calling > > > > > nvmem_reg_{read,write}(), > > > e.g. > > > > > nvmem_device_{read,write}(). > > > > > > > > OK. In that case, I will return (-EINVAL) for "bytes !=1" > > > > > > I think it is probably better to ensure the nvmem core never passes > > > an invalid number of bytes. All the ther RTC drivers make that > assumption. > > > > In that case, I will do following checks in > > nvmem_device_{read,write}() before calling nvmem_reg_{read,write}(), > > > > nvmem_device_read > > > > /* Stop the user from reading */ > > if (offset >= nvmem->size) > > return 0; > > > > if (bytes == 0) > > return -EINVAL; > > Why not 0? Ok. Will merge with above check. if ((offset >= nvmem->size) && (bytes == 0)) return 0; > > > > if (offset + bytes > nvmem->size) > > This might overflow, please use check_add_overflow(). Will use check_add_overflow() and then the result is compared with nvmem->size, if the check operation is successful. > > bytes = nvmem->size - offset; > > > > nvmem_device_write > > > > /* Stop the user from writing */ > > if (offset >= nvmem->size) > > return -EFBIG; > > ENOSPC? OK, Will change it to ENOSPC. > + same comments as for read. > > Oh, and offset is unsigned int instead of loff_t. > Nobody's envisioning nvmem devices larger than 4 GiB? Regards, Biju [https://www2.renesas.eu/media/email/unicef.jpg] This Christmas, instead of sending out cards, Renesas Electronics Europe have decided to support Unicef with a donation. For further details click here<https://www.unicef.org/> to find out about the valuable work they do, helping children all over the world. We would like to take this opportunity to wish you a Merry Christmas and a prosperous New Year. Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.