On Thu, Sep 01, 2022 at 03:31:51PM +0700, Ammar Faizi wrote: > On 9/1/22 11:42 AM, Oscar Salvador wrote:> +static ssize_t read_page_owner_threshold(struct file *file, char __user *buf, > > + kbuf = kmalloc(count, GFP_KERNEL); > > + if (!kbuf) > > + return ENOMEM; > > Missing a negative sign, return -ENOMEM. Will fix. > > +static ssize_t write_page_owner_threshold(struct file *file, const char __user *buf, > > + size_t count, loff_t *pos) > > +{ > > + char *kbuf; > > + int ret = 0; > > + > > + count = min_t(size_t, count, PAGE_SIZE); > > + kbuf = kmalloc(count, GFP_KERNEL); > > This looks overestimating to me. For unsigned long, on a 64-bit system > has max val 18446744073709551615 (20 chars). > > You can use stack a allocated local variable with length 21. No need > to use kmalloc(). The same way with the read() op. Probably could do that, but I'll go with Michal's option and will use seq_file. Thanks! -- Oscar Salvador SUSE Labs