On Tue, Apr 14, 2020 at 03:34:41PM -0300, Jason Gunthorpe wrote: > The memcpy is still kind of silly right? What about this: > > static int ocrdma_add_stat(char *start, char *pcur, char *name, u64 count) > { > size_t len = (start + OCRDMA_MAX_DBGFS_MEM) - pcur; > int cpy_len; > > cpy_len = snprintf(pcur, len, "%s: %llu\n", name, count); > if (cpy_len >= len || cpy_len < 0) { The kernel version of snprintf() doesn't and will never return negatives. It would cause a huge security headache if it started returning negatives. > pr_err("%s: No space in stats buff\n", __func__); > return 0; > } regards, dan carpenter