[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAG_fn=U+xi3zjr+g+PaT_41JHSca1W6J72xd5=c0dVrSy75XpA@mail.gmail.com>
Date: Wed, 3 Sep 2025 13:35:41 +0200
From: Alexander Potapenko <glider@...gle.com>
To: Ethan Graham <ethan.w.s.graham@...il.com>
Cc: ethangraham@...gle.com, andreyknvl@...il.com, brendan.higgins@...ux.dev,
davidgow@...gle.com, dvyukov@...gle.com, jannh@...gle.com, elver@...gle.com,
rmoar@...gle.com, shuah@...nel.org, tarasmadan@...gle.com,
kasan-dev@...glegroups.com, kunit-dev@...glegroups.com,
linux-kernel@...r.kernel.org, linux-mm@...ck.org, dhowells@...hat.com,
lukas@...ner.de, ignat@...udflare.com, herbert@...dor.apana.org.au,
davem@...emloft.net, linux-crypto@...r.kernel.org
Subject: Re: [PATCH v2 RFC 2/7] kfuzztest: add user-facing API and data structures
> + static ssize_t kfuzztest_write_cb_##test_name(struct file *filp, const char __user *buf, size_t len, \
> + loff_t *off) \
> + { \
> + test_arg_type *arg; \
> + void *buffer; \
> + int ret; \
> + \
> + buffer = kmalloc(len, GFP_KERNEL); \
> + if (!buffer) \
> + return -ENOMEM; \
> + ret = simple_write_to_buffer(buffer, len, off, buf, len); \
> + if (ret < 0) \
> + goto out; \
> + ret = kfuzztest_parse_and_relocate(buffer, len, (void **)&arg); \
> + if (ret < 0) \
> + goto out; \
> + kfuzztest_logic_##test_name(arg); \
> + ret = len; \
> +out: \
> + kfree(buffer); \
> + return ret; \
> + } \
> + static void kfuzztest_logic_##test_name(test_arg_type *arg)
simple_write_to_buffer() may write less than len bytes if it hits a
protected page.
You should check that `ret == len` and return -EFAULT if they differ.
Powered by blists - more mailing lists