{"push_id":563338089,"size":72,"distinct_size":72,"ref":"refs/heads/LP-stock_cam","head":"d46f75c0e0c47c79f0cb3c3e9a247d6f399a9ff1","before":"758332c7bcfbdb0a7e97010f15a50cd8c949cfe8","commits":[{"sha":"114fd7727069ff315b292dd2a668f8f06986601b","author":{"email":"ac787d8f09a6823214d7ee5f9172cecd4adaf7cb@codeaurora.org","name":"Shiv Maliyappanahalli"},"message":"ASoC: msm: qdsp6v2: Fix buffer overflow in voice driver\n\nUserspace registers calibration data with acdb driver\nthrough ioctls. Voice driver registers the calibration\ndata with CVD by querying acdb data from acdb driver and\ncopies the calibration data in apr message.\n\nThe size of the calibration data can be controlled by userspace\nand can result in buffer overflow if the calibration size is\ngreater than the destination buffer size.\nReject acdb data if the size is greater than the size of\ndestination buffer.\n\nPrev-Change-Id: I1b495390d67907afc608ed8233bf916777d38e11\nCRs-fixed: 548872\nSigned-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>\n\nConflicts:\n\n\tsound/soc/msm/qdsp6v2/q6voice.c\n\nChange-Id: Ic50d948134a72ab416be1a46ba59e33beb04827d","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/114fd7727069ff315b292dd2a668f8f06986601b"},{"sha":"5c241c9b458c355b9dc26929e9152378351f1b89","author":{"email":"90195ac9894f0ae655ee806f40ff2ab15e49efdd@codeaurora.org","name":"Laxminath Kasam"},"message":"ALSA: core: Fix crash by avoiding appl_ptr crossing 32-bit boundary\n\nIncase of A2DP usecase using proxy driver, appl_ptr has\nboundary value as 0x60000000 frames in sw_params for stereo(2 channels).\nWhen this value crosses 0x40000000, then userspace calculating\nappl_ptr at bytes results in crossing 32-bit value 0x100000000,\nand points to 0x0 offset which can result in crash or pop.\nTo avoid above scenario, set the sw_params appl_ptr boundary value\nwithin 0x40000000. Added proper check at sw_params update\nto set this value correctly within 32-bit boundary(frames).\n\nPrev-Change-Id: I537a04156699d90549a0a468ae19539ecd552d3b\nCRs-Fixed: 483203\nSigned-off-by: Laxminath Kasam <lkasam@codeaurora.org>\n\nChange-Id: Ife1e9debfce7cc62c88ca9587006f0e4e44a7a64","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/5c241c9b458c355b9dc26929e9152378351f1b89"},{"sha":"aa97673d728e4ea2c758a669c613017143acb22b","author":{"email":"ac787d8f09a6823214d7ee5f9172cecd4adaf7cb@codeaurora.org","name":"Shiv Maliyappanahalli"},"message":"ASoC: msm: qdsp6v2: Copy frame data based on frame length\n\nCopying data based on count will result in copying\nuninitialized data to userspace which can potentially\ndisclose sensitive data. Fix by copying data based on\nframe instead.\n\nCRs-Fixed: 552528, 552531\nPrev-Change-Id: I307b285ef2aefe00b953cf650582e9ff7e03ceb1\nSigned-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>\n\nConflicts:\n\n\tsound/soc/msm/qdsp6v2/msm-pcm-voip-v2.c\n\nChange-Id: Ie468d0ccdbd6e253af9bbc7731559856fa302e6e","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/aa97673d728e4ea2c758a669c613017143acb22b"},{"sha":"62b570763fa32f99fbe69d408da4cc922f2d3589","author":{"email":"0898c4e5c8d849879fa65e9f23cfa9cb45bd5a93@codeaurora.org","name":"Phani Kumar Uppalapati"},"message":"ALSA: pcm: check for integer overflow during multiplication\n\nChannel info data structure is parsed from userspace and if\nuser does not set the no. of channels correctly, it could lead\nto security vulnerability if we don't check for overflow when the\nno. of channels is multiplied with pcm bit width. Add a condition\nto check for overflow during multiplication.\n\nCRs-fixed: 537818\nPrev-Change-Id: Ia3c31406dd8b7627ea704c076643c0348582da28\nSigned-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>\n\nChange-Id: I577e28017baae43f0ca49141916381c7e791a281","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/62b570763fa32f99fbe69d408da4cc922f2d3589"},{"sha":"aea13337589029c567f07e46233750060cc59b5d","author":{"email":"3d32ddd824ed10ee5fc88d0f5eb47f1d80467fe8@codeaurora.org","name":"Mohammad Johny Shaik"},"message":"ASoC: msm: qdsp6: Fix pop noise seen with touch tone during playback\n\nIssue: When a session is opened for playback of the touch tone and\n\trouted through the COPP, the PBE and IIR params are being\n\treconfigured in the COPP every time a session is open.\n\nRootcause:Configuring the PBE/IIR in the COPP every time a session\n           is open.\nFix: Configuring the PBE and IIR param in the COPP one time a session\n      is open\n\nCRs-Fixed: 541722\nPrev-Change-Id: If0d1a8c6893a94186e1c6c2a75432d2f4a89f842\nSigned-off-by: Satish Kamuju <skamuj@codeaurora.org>\n\nChange-Id: If51d472b554e358f2eada257b7cebb97682683b0","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/aea13337589029c567f07e46233750060cc59b5d"},{"sha":"45011d02e1098b748fcd3e64857d941e8b1c60cd","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: track the runnable average on a per-task entity basis\n\nInstead of tracking averaging the load parented by a cfs_rq, we can track\nentity load directly.  With the load for a given cfs_rq then being the sum of\nits children.\n\nTo do this we represent the historical contribution to runnable average within\neach trailing 1024us of execution as the coefficients of a geometric series.\n\nWe can express this for a given task t as:\n  runnable_sum(t) = \\Sum u_i * y^i, runnable_avg_period(t) = \\Sum 1024 * y^i\n  load(t) = weight_t * runnable_sum(t) / runnable_avg_period(t)\n\nWhere: u_i is the usage in the last i`th 1024us period (approximately 1ms) ~ms\nand y is chosen such that y^k = 1/2.  We currently choose k to be 32 which\nroughly translates to about a sched period.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/45011d02e1098b748fcd3e64857d941e8b1c60cd"},{"sha":"96dd6bf7098b0ce6d470e4887a9238ae6d54e678","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"sched: maintain per-rq runnable averages\n\nSince runqueues do not have a corresponding sched_entity we instead embed a\nsched_avg structure directly.\n\nSigned-off-by: Ben Segall <bsegall@google.com>\nReviewed-by: Paul Turner <pjt@google.com>\nmodified for Mako kernel from kernel.org\n\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/96dd6bf7098b0ce6d470e4887a9238ae6d54e678"},{"sha":"f7de3ad00114201bec5174c8085d9f3c41bcc116","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: aggregate load contributed by task entities on parenting cfs_rq\n\nFor a given task t, we can compute its contribution to load as:\n  task_load(t) = runnable_avg(t) * weight(t)\n\nOn a parenting cfs_rq we can then aggregate\n  runnable_load(cfs_rq) = \\Sum task_load(t), for all runnable children t\n\nMaintain this bottom up, with task entities adding their contributed load to\nthe parenting cfs_rq sum.  When a task entity's load changes we add the same\ndelta to the maintained sum.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/f7de3ad00114201bec5174c8085d9f3c41bcc116"},{"sha":"e000e2bb5077208bde240065e45ac3bbb23814dd","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: maintain the load contribution of blocked entities\n\nWe are currently maintaining:\n  runnable_load(cfs_rq) = \\Sum task_load(t)\n\nFor all running children t of cfs_rq.  While this can be naturally updated for\ntasks in a runnable state (as they are scheduled); this does not account for\nthe load contributed by blocked task entities.\n\nThis can be solved by introducing a separate accounting for blocked load:\n  blocked_load(cfs_rq) = \\Sum runnable(b) * weight(b)\n\nObviously we do not want to iterate over all blocked entities to account for\ntheir decay, we instead observe that:\n  runnable_load(t) = \\Sum p_i*y^i\n\nand that to account for an additional idle period we only need to compute:\n  y*runnable_load(t).\n\nThis means that we can compute all blocked entities at once by evaluating:\n  blocked_load(cfs_rq)` = y * blocked_load(cfs_rq)\n\nFinally we maintain a decay counter so that when a sleeping entity re-awakens\nwe can determine how much of its load should be removed from the blocked sum.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/e000e2bb5077208bde240065e45ac3bbb23814dd"},{"sha":"0e277b8b4cccbeed62aae3a17906f48b62b57621","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: add an rq migration call-back to sched_class\n\nSince we are now doing bottom up load accumulation we need explicit\nnotification when a task has been re-parented so that the old hierarchy can be\nupdated.\n\nAdds: migrate_task_rq(struct task_struct *p, int next_cpu)\n\n(The alternative is to do this out of __set_task_cpu, but it was suggested that\nthis would be a cleaner encapsulation.)\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/0e277b8b4cccbeed62aae3a17906f48b62b57621"},{"sha":"c6ffd0d25c72ab180cbdadbd6751942189743926","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: account for blocked load waking back up\n\nWhen a running entity blocks we migrate its tracked load to\ncfs_rq->blocked_runnable_avg.  In the sleep case this occurs while holding\nrq->lock and so is a natural transition.  Wake-ups however, are potentially\nasynchronous in the presence of migration and so special care must be taken.\n\nWe use an atomic counter to track such migrated load, taking care to match this\nwith the previously introduced decay counters so that we don't migrate too much\nload.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/c6ffd0d25c72ab180cbdadbd6751942189743926"},{"sha":"24ab93d40d75484f64537e4236841eb9b395585a","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: aggregate total task_group load\n\nMaintain a global running sum of the average load seen on each cfs_rq belonging\nto each task group so that it may be used in calculating an appropriate\nshares:weight distribution.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/24ab93d40d75484f64537e4236841eb9b395585a"},{"sha":"4540d6c4d175842e5ed41656e998b61e367214c9","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: compute load contribution by a group entity\n\nUnlike task entities who have a fixed weight, group entities instead own a\nfraction of their parenting task_group's shares as their contributed weight.\n\nCompute this fraction so that we can correctly account hierarchies and shared\nentity nodes.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/4540d6c4d175842e5ed41656e998b61e367214c9"},{"sha":"b431a7e517860ae710858cfe4b176144d1c2938f","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: normalize tg load contributions against runnable time\n\nEntities of equal weight should receive equitable distribution of cpu time.\nThis is challenging in the case of a task_group's shares as execution may be\noccurring on multiple cpus simultaneously.\n\nTo handle this we divide up the shares into weights proportionate with the load\non each cfs_rq.  This does not however, account for the fact that the sum of\nthe parts may be less than one cpu and so we need to normalize:\n  load(tg) = min(runnable_avg(tg), 1) * tg->shares\nWhere runnable_avg is the aggregate time in which the task_group had runnable\nchildren.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>.","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/b431a7e517860ae710858cfe4b176144d1c2938f"},{"sha":"a88917493c2d039c14fea4a7dc1c9450bf6953a2","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: maintain runnable averages across throttled periods\n\nWith bandwidth control tracked entities may cease execution according to user\nspecified bandwidth limits.  Charging this time as either throttled or blocked\nhowever, is incorrect and would falsely skew in either direction.\n\nWhat we actually want is for any throttled periods to be \"invisible\" to\nload-tracking as they are removed from the system for that interval and\ncontribute normally otherwise.\n\nDo this by moderating the progression of time to omit any periods in which the\nentity belonged to a throttled hierarchy.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/a88917493c2d039c14fea4a7dc1c9450bf6953a2"},{"sha":"b17da5ebcade6e6b98ab767f0473564330bd6e68","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: replace update_shares weight distribution with per-entity computation\n\nNow that the machinery in place is in place to compute contributed load in a\nbottom up fashion; replace the shares distribution code within update_shares()\naccordingly.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/b17da5ebcade6e6b98ab767f0473564330bd6e68"},{"sha":"063718b7e349f2c0d19da7511cc86faf8fd75afe","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: refactor update_shares_cpu() -> update_blocked_avgs()\n\nNow that running entities maintain their own load-averages the work we must do\nin update_shares() is largely restricted to the periodic decay of blocked\nentities.  This allows us to be a little less pessimistic regarding our\noccupancy on rq->lock and the associated rq->clock updates required.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/063718b7e349f2c0d19da7511cc86faf8fd75afe"},{"sha":"2b1f62e4a879678427f8794abb3832b5c0afdda7","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: update_cfs_shares at period edge\n\nNow that our measurement intervals are small (~1ms) we can amortize the posting\nof update_shares() to be about each period overflow.  This is a large cost\nsaving for frequently switching tasks.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/2b1f62e4a879678427f8794abb3832b5c0afdda7"},{"sha":"7da71df049b70472c5fbf7028d47018dfb33c3b1","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: make __update_entity_runnable_avg() fast\n\n__update_entity_runnable_avg forms the core of maintaining an entity's runnable\nload average.  In this function we charge the accumulated run-time since last\nupdate and handle appropriate decay.  In some cases, e.g. a waking task, this\ntime interval may be much larger than our period unit.\n\nFortunately we can exploit some properties of our series to perform decay for a\nblocked update in constant time and account the contribution for a running\nupdate in essentially-constant* time.\n\n[*]: For any running entity they should be performing updates at the tick which\ngives us a soft limit of 1 jiffy between updates, and we can compute up to a\n32 jiffy update in a single pass.\n\nC program to generate the above:\n\n#include <math.h>\n#include <stdio.h>\n\n#define N 32\n#define WMULT_SHIFT 32\n\nconst long WMULT_CONST = ((1UL << N) - 1);\ndouble y;\n\nlong runnable_avg_yN_inv[N];\nvoid calc_mult_inv() {\n\tint i;\n\tdouble yn = 0;\n\n\tprintf(\"inverses\\n\");\n\tfor (i = 0; i < N; i++) {\n\t\tyn = (double)WMULT_CONST * pow(y, i);\n\t\trunnable_avg_yN_inv[i] = yn;\n\t\tprintf(\"%2d: 0x%8lx\\n\", i, runnable_avg_yN_inv[i]);\n\t}\n\tprintf(\"\\n\");\n}\n\nlong mult_inv(long c, int n) {\n\treturn (c * runnable_avg_yN_inv[n]) >> WMULT_SHIFT;\n}\n\nvoid calc_yn_sum(int n)\n{\n\tint i;\n\tdouble sum = 0, sum_fl = 0, diff = 0;\n\n\t/*\n\t * We take the floored sum to ensure the sum of partial sums is never\n\t * larger than the actual sum.\n\t */\n\tprintf(\"sum y^n\\n\");\n\tprintf(\"   %8s  %8s %8s\\n\", \"exact\", \"floor\", \"error\");\n\tfor (i = 1; i <= n; i++) {\n\t\tsum = (y * sum + y * 1024);\n\t\tsum_fl = floor(y * sum_fl+ y * 1024);\n\t\tprintf(\"%2d: %8.0f  %8.0f %8.0f\\n\", i, sum, sum_fl,\n\t\t\tsum_fl - sum);\n\t}\n\tprintf(\"\\n\");\n}\n\nvoid calc_conv(long n) {\n\tlong old_n;\n\tint i = -1;\n\n\tprintf(\"convergence (LOAD_AVG_MAX, LOAD_AVG_MAX_N)\\n\");\n\tdo {\n\t\told_n = n;\n\t\tn = mult_inv(n, 1) + 1024;\n\t\ti++;\n\t} while (n != old_n);\n\tprintf(\"%d> %ld\\n\", i - 1, n);\n\tprintf(\"\\n\");\n}\n\nvoid main() {\n\ty = pow(0.5, 1/(double)N);\n\tcalc_mult_inv();\n\tcalc_conv(1024);\n\tcalc_yn_sum(N);\n}\n\n[ Compile with -lm ]\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/7da71df049b70472c5fbf7028d47018dfb33c3b1"},{"sha":"5b1277a7a5425bccdecf3d85c035b8614456abe2","author":{"email":"56b59ac50e86208fd62726b53c1d890b9a8ff058@google.com","name":"Paul Turner"},"message":"sched: implement usage tracking\n\nWith the frame-work for runnable tracking now fully in place.  Per-entity usage\ntracking is a simple and low-overhead addition.\n\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>","distinct":true,"url":"https://api.github.com/repos/jollaman999/jolla-kernel_G_Gen2/commits/5b1277a7a5425bccdecf3d85c035b8614456abe2"}]}