From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6C33F10E120 for ; Wed, 15 Mar 2023 00:38:38 +0000 (UTC) Date: Tue, 14 Mar 2023 17:38:36 -0700 Message-ID: <87o7oulugj.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Kamil Konieczny , igt-dev@lists.freedesktop.org, Umesh Nerlige Ramappa , Lionel G Landwerlin In-Reply-To: <20230313152121.kml6iabgta2teh6s@kamilkon-desk1> References: <20230215004648.2100655-1-umesh.nerlige.ramappa@intel.com> <20230215004648.2100655-16-umesh.nerlige.ramappa@intel.com> <20230313152121.kml6iabgta2teh6s@kamilkon-desk1> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Subject: Re: [igt-dev] [PATCH i-g-t 15/31] i915/perf: Add OAM support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: On Mon, 13 Mar 2023 08:21:21 -0700, Kamil Konieczny wrote: > > > @@ -5306,10 +5345,27 @@ test_sysctl_defaults(void) > > igt_assert_eq(max_freq, 100000); > > } > > > > -#define __for_each_perf_enabled_engine(fd__, e__) \ > > - for_each_physical_engine(fd__, e__) \ > > - if (perf_supports_engine(e__)) \ > > - igt_dynamic_f("%s", e__->name) > > +static struct intel_execution_engine2 * > > +__ci_to_e2(const intel_ctx_t *ctx, struct i915_engine_class_instance *ci) > > +{ > > + static struct intel_execution_engine2 e2; > > e2 is on stack, see below, so it should be *e2 > > > + struct intel_execution_engine2 *e; > > + > > + for_each_ctx_engine(drm_fd, ctx, e) { > > + if (e->class == ci->engine_class && e->instance == ci->engine_instance) { > > + e2 = *e; > > + break; > > + } > > + } > > + > > + return &e2; > --------------- ^ > imho you should allocate memory for this and return NULL when > not found. Yup something needs to be done here since e2 is on stack so dangerous to return a pointer to it.