X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=kernel%2Fevents%2Fcore.c;h=aad3f61295343663d733b53527d0b84690bdc9c8;hb=8f54298dd8fabb33560a2ec7b8d101d03992ff07;hp=1d065a82610d85897d76a7f68bd5d6cc94c8f80f;hpb=b2c10286f7e3250fbb1473c28d1a7fd40e091d37;p=sagit-ice-cold%2Fkernel_xiaomi_msm8998.git diff --git a/kernel/events/core.c b/kernel/events/core.c index 1d065a82610d..aad3f6129534 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -5003,7 +5003,15 @@ accounting: */ user_lock_limit *= num_online_cpus(); - user_locked = atomic_long_read(&user->locked_vm) + user_extra; + user_locked = atomic_long_read(&user->locked_vm); + + /* + * sysctl_perf_event_mlock may have changed, so that + * user->locked_vm > user_lock_limit + */ + if (user_locked > user_lock_limit) + user_locked = user_lock_limit; + user_locked += user_extra; if (user_locked > user_lock_limit) extra = user_locked - user_lock_limit;