Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6db8708 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "sched/hmp: Fix memory leak when task fork fails"

parents 93b6c495 b9b63b0c
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -2393,6 +2393,7 @@ struct cpu_cycle_counter_cb {
};
};


#ifdef CONFIG_SCHED_HMP
#ifdef CONFIG_SCHED_HMP
extern void free_task_load_ptrs(struct task_struct *p);
extern int sched_set_window(u64 window_start, unsigned int window_size);
extern int sched_set_window(u64 window_start, unsigned int window_size);
extern unsigned long sched_get_busy(int cpu);
extern unsigned long sched_get_busy(int cpu);
extern void sched_get_cpus_busy(struct sched_load *busy,
extern void sched_get_cpus_busy(struct sched_load *busy,
@@ -2418,6 +2419,8 @@ extern int sched_set_group_id(struct task_struct *p, unsigned int group_id);
extern unsigned int sched_get_group_id(struct task_struct *p);
extern unsigned int sched_get_group_id(struct task_struct *p);


#else /* CONFIG_SCHED_HMP */
#else /* CONFIG_SCHED_HMP */
static inline void free_task_load_ptrs(struct task_struct *p) { }

static inline u64 sched_ktime_clock(void)
static inline u64 sched_ktime_clock(void)
{
{
	return 0;
	return 0;
+1 −0
Original line number Original line Diff line number Diff line
@@ -1654,6 +1654,7 @@ bad_fork_cleanup_audit:
bad_fork_cleanup_perf:
bad_fork_cleanup_perf:
	perf_event_free_task(p);
	perf_event_free_task(p);
bad_fork_cleanup_policy:
bad_fork_cleanup_policy:
	free_task_load_ptrs(p);
#ifdef CONFIG_NUMA
#ifdef CONFIG_NUMA
	mpol_put(p->mempolicy);
	mpol_put(p->mempolicy);
bad_fork_cleanup_threadgroup_lock:
bad_fork_cleanup_threadgroup_lock:
+0 −3
Original line number Original line Diff line number Diff line
@@ -1079,7 +1079,6 @@ extern unsigned int __read_mostly sched_downmigrate;
extern unsigned int  __read_mostly sysctl_sched_spill_nr_run;
extern unsigned int  __read_mostly sysctl_sched_spill_nr_run;
extern unsigned int  __read_mostly sched_load_granule;
extern unsigned int  __read_mostly sched_load_granule;


extern void free_task_load_ptrs(struct task_struct *p);
extern void init_new_task_load(struct task_struct *p, bool idle_task);
extern void init_new_task_load(struct task_struct *p, bool idle_task);
extern u64 sched_ktime_clock(void);
extern u64 sched_ktime_clock(void);
extern int got_boost_kick(void);
extern int got_boost_kick(void);
@@ -1528,8 +1527,6 @@ static inline struct sched_cluster *rq_cluster(struct rq *rq)
	return NULL;
	return NULL;
}
}


static inline void free_task_load_ptrs(struct task_struct *p) { }

static inline void init_new_task_load(struct task_struct *p, bool idle_task)
static inline void init_new_task_load(struct task_struct *p, bool idle_task)
{
{
}
}