mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
x86/resctrl: Initialize on-stack struct rmid_read instances
New semantics rely on some struct rmid_read members having NULL values to distinguish between the SNC and non-SNC scenarios. resctrl can thus no longer rely on this struct not being initialized properly. Initialize all on-stack declarations of struct rmid_read: rdtgroup_mondata_show() mbm_update() mkdir_mondata_subdir() to ensure that garbage values from the stack are not passed down to other functions. [ bp: Massage commit message. ] Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Tested-by: Babu Moger <babu.moger@amd.com> Link: https://lore.kernel.org/r/20240628215619.76401-11-tony.luck@intel.com
This commit is contained in:
parent
fb1f51f677
commit
587edd7069
|
|
@ -529,7 +529,6 @@ void mon_event_read(struct rmid_read *rr, struct rdt_resource *r,
|
|||
rr->evtid = evtid;
|
||||
rr->r = r;
|
||||
rr->d = d;
|
||||
rr->val = 0;
|
||||
rr->first = first;
|
||||
rr->arch_mon_ctx = resctrl_arch_mon_ctx_alloc(r, evtid);
|
||||
if (IS_ERR(rr->arch_mon_ctx)) {
|
||||
|
|
@ -557,12 +556,12 @@ int rdtgroup_mondata_show(struct seq_file *m, void *arg)
|
|||
{
|
||||
struct kernfs_open_file *of = m->private;
|
||||
struct rdt_domain_hdr *hdr;
|
||||
struct rmid_read rr = {0};
|
||||
struct rdt_mon_domain *d;
|
||||
u32 resid, evtid, domid;
|
||||
struct rdtgroup *rdtgrp;
|
||||
struct rdt_resource *r;
|
||||
union mon_data_bits md;
|
||||
struct rmid_read rr;
|
||||
int ret = 0;
|
||||
|
||||
rdtgrp = rdtgroup_kn_lock_live(of->kn);
|
||||
|
|
|
|||
|
|
@ -780,9 +780,8 @@ static void update_mba_bw(struct rdtgroup *rgrp, struct rdt_mon_domain *dom_mbm)
|
|||
static void mbm_update(struct rdt_resource *r, struct rdt_mon_domain *d,
|
||||
u32 closid, u32 rmid)
|
||||
{
|
||||
struct rmid_read rr;
|
||||
struct rmid_read rr = {0};
|
||||
|
||||
rr.first = false;
|
||||
rr.r = r;
|
||||
rr.d = d;
|
||||
|
||||
|
|
|
|||
|
|
@ -3029,10 +3029,10 @@ static int mkdir_mondata_subdir(struct kernfs_node *parent_kn,
|
|||
struct rdt_mon_domain *d,
|
||||
struct rdt_resource *r, struct rdtgroup *prgrp)
|
||||
{
|
||||
struct rmid_read rr = {0};
|
||||
union mon_data_bits priv;
|
||||
struct kernfs_node *kn;
|
||||
struct mon_evt *mevt;
|
||||
struct rmid_read rr;
|
||||
char name[32];
|
||||
int ret;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user