Message ID | 20230725195424.3469242-1-ruanjinjie@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8865aea0471c512c2d94220c60a0083cefcb9348 |
Delegated to: | Masami Hiramatsu |
Headers | show |
Series | [-next] kernel: kprobes: Use struct_size() | expand |
On Tue, 25 Jul 2023 19:54:24 +0000 Ruan Jinjie <ruanjinjie@huawei.com> wrote: > Use struct_size() instead of hand-writing it, when allocating a structure > with a flex array. > > This is less verbose. > Looks goo to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Thanks! > Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com> > --- > kernel/kprobes.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/kernel/kprobes.c b/kernel/kprobes.c > index 1fc6095d502d..1d749a917b59 100644 > --- a/kernel/kprobes.c > +++ b/kernel/kprobes.c > @@ -2220,8 +2220,7 @@ int register_kretprobe(struct kretprobe *rp) > return -ENOMEM; > > for (i = 0; i < rp->maxactive; i++) { > - inst = kzalloc(sizeof(struct kretprobe_instance) + > - rp->data_size, GFP_KERNEL); > + inst = kzalloc(struct_size(inst, data, rp->data_size), GFP_KERNEL); > if (inst == NULL) { > rethook_free(rp->rh); > rp->rh = NULL; > @@ -2244,8 +2243,7 @@ int register_kretprobe(struct kretprobe *rp) > > rp->rph->rp = rp; > for (i = 0; i < rp->maxactive; i++) { > - inst = kzalloc(sizeof(struct kretprobe_instance) + > - rp->data_size, GFP_KERNEL); > + inst = kzalloc(struct_size(inst, data, rp->data_size), GFP_KERNEL); > if (inst == NULL) { > refcount_set(&rp->rph->ref, i); > free_rp_inst(rp); > -- > 2.34.1 >
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index 1fc6095d502d..1d749a917b59 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -2220,8 +2220,7 @@ int register_kretprobe(struct kretprobe *rp) return -ENOMEM; for (i = 0; i < rp->maxactive; i++) { - inst = kzalloc(sizeof(struct kretprobe_instance) + - rp->data_size, GFP_KERNEL); + inst = kzalloc(struct_size(inst, data, rp->data_size), GFP_KERNEL); if (inst == NULL) { rethook_free(rp->rh); rp->rh = NULL; @@ -2244,8 +2243,7 @@ int register_kretprobe(struct kretprobe *rp) rp->rph->rp = rp; for (i = 0; i < rp->maxactive; i++) { - inst = kzalloc(sizeof(struct kretprobe_instance) + - rp->data_size, GFP_KERNEL); + inst = kzalloc(struct_size(inst, data, rp->data_size), GFP_KERNEL); if (inst == NULL) { refcount_set(&rp->rph->ref, i); free_rp_inst(rp);
Use struct_size() instead of hand-writing it, when allocating a structure with a flex array. This is less verbose. Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com> --- kernel/kprobes.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)