From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752684AbdKWKG2 (ORCPT ); Thu, 23 Nov 2017 05:06:28 -0500 Received: from merlin.infradead.org ([205.233.59.134]:49038 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751433AbdKWKG0 (ORCPT ); Thu, 23 Nov 2017 05:06:26 -0500 Date: Thu, 23 Nov 2017 11:06:16 +0100 From: Peter Zijlstra To: Song Liu Cc: rostedt@goodmis.org, mingo@redhat.com, davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, daniel@iogearbox.net, kernel-team@fb.com Subject: Re: [PATCH 3/6] perf: implement kprobe support to PERF_TYPE_PROBE Message-ID: <20171123100616.5ldvmdqrjpg2wi2y@hirez.programming.kicks-ass.net> References: <20171115172339.1791161-1-songliubraving@fb.com> <20171115172339.1791161-6-songliubraving@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171115172339.1791161-6-songliubraving@fb.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 15, 2017 at 09:23:36AM -0800, Song Liu wrote: > +int perf_probe_init(struct perf_event *p_event) > +{ > + __aligned_u64 aligned_probe_desc; > + > + /* > + * attr.probe_desc may not be 64-bit aligned on 32-bit systems. > + * Make an aligned copy of it to before u64_to_user_ptr(). > + */ > + memcpy(&aligned_probe_desc, &p_event->attr.probe_desc, > + sizeof(__aligned_u64)); > + > + if (copy_from_user(&pd, u64_to_user_ptr(aligned_probe_desc), > + sizeof(struct probe_desc))) > + return -EFAULT; That doesn't seem to make any sense what so ever.. the alignment has no effect on this usecase. Not to mention that the kernel variable should very much already be aligned.