{"push_id":903240168,"size":17,"distinct_size":17,"ref":"refs/heads/mm6.0","head":"60aede2d7979af4acc69ab6300b11cf94aec1f05","before":"b1cc9e2f8a69a44b9c23ee996f9b9422fa5c883d","commits":[{"sha":"b4b234e16f14ba009892a3144b4aa4a98d028116","author":{"email":"a0e0bc655fdc6685e623efd3336a27ce1c465fa0@hotmail.de","name":"Blechd0se"},"message":"mach-msm: disable kernel-side mpdecision\n\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/b4b234e16f14ba009892a3144b4aa4a98d028116"},{"sha":"f8f388bbcc8bd5b518b2b01c774eb036a52425d3","author":{"email":"c37150ea8944ca36e316c2ea250e46bfa4e9cb1f@llnl.gov","name":"Mark Grondona"},"message":"__ptrace_may_access() should not deny sub-threads\n\ncommit 73af963f9f3036dffed55c3a2898598186db1045 upstream.\n\n__ptrace_may_access() checks get_dumpable/ptrace_has_cap/etc if task !=\ncurrent, this can can lead to surprising results.\n\nFor example, a sub-thread can't readlink(\"/proc/self/exe\") if the\nexecutable is not readable.  setup_new_exec()->would_dump() notices that\ninode_permission(MAY_READ) fails and then it does\nset_dumpable(suid_dumpable).  After that get_dumpable() fails.\n\n(It is not clear why proc_pid_readlink() checks get_dumpable(), perhaps we\ncould add PTRACE_MODE_NODUMPABLE)\n\nChange __ptrace_may_access() to use same_thread_group() instead of \"task\n== current\".  Any security check is pointless when the tasks share the\nsame ->mm.\n\nChange-Id: Ib6ca927a1eb0637df8030aabcb3129d5be343512\nSigned-off-by: Mark Grondona <mgrondona@llnl.gov>\nSigned-off-by: Ben Woodard <woodard@redhat.com>\nSigned-off-by: Oleg Nesterov <oleg@redhat.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/f8f388bbcc8bd5b518b2b01c774eb036a52425d3"},{"sha":"b0bf48a2055b273b830a5f547036f9b04579a64d","author":{"email":"eec72676ad9a62f2727dfed6d270d98c0d02adec@linux.intel.com","name":"Kirill A. Shutemov"},"message":"pagemap: do not leak physical addresses to non-privileged userspace\n\ncommit ab676b7d6fbf4b294bf198fb27ade5b0e865c7ce upstream.\n\nAs pointed by recent post[1] on exploiting DRAM physical imperfection,\n/proc/PID/pagemap exposes sensitive information which can be used to do\nattacks.\n\nThis disallows anybody without CAP_SYS_ADMIN to read the pagemap.\n\n[1] http://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html\n\n[ Eventually we might want to do anything more finegrained, but for now\n  this is the simple model.   - Linus ]\n\nChange-Id: Ib62bf4429dcdafd9fc1cd9b1a0c5665c64cc5d18\nSigned-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\nAcked-by: Konstantin Khlebnikov <khlebnikov@openvz.org>\nAcked-by: Andy Lutomirski <luto@amacapital.net>\nCc: Pavel Emelyanov <xemul@parallels.com>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Mark Seaborn <mseaborn@chromium.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Zefan Li <lizefan@huawei.com>\n[mancha: Backported to 3.10]\nSigned-off-by: mancha security <mancha1@zoho.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/b0bf48a2055b273b830a5f547036f9b04579a64d"},{"sha":"014b266573f2db91c001803b0acdd811db147c8a","author":{"email":"10a8c465cefc9bdd6c925e26964d23c90f1141cc@google.com","name":"Dmitry Torokhov"},"message":"net: fix iterating over hashtable in tcp_nuke_addr()\n\nThe actual size of the tcp hashinfo table is tcp_hashinfo.ehash_mask + 1\nso we need to adjust the loop accordingly to get the sockets hashed into\nthe last bucket.\n\nChange-Id: I796b3c7b4a1a7fa35fba9e5192a4a403eb6e17de\nSigned-off-by: Dmitry Torokhov <dtor@google.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/014b266573f2db91c001803b0acdd811db147c8a"},{"sha":"92d28ce9ae6b7bcc9846b9bebac3d6c28e777b71","author":{"email":"518d07701a80fb29f0da45c7c615106b9be9d5c6@redhat.com","name":"Marcelo Leitner"},"message":"ipv6: addrconf: validate new MTU before applying it\n\nCurrently we don't check if the new MTU is valid or not and this allows\none to configure a smaller than minimum allowed by RFCs or even bigger\nthan interface own MTU, which is a problem as it may lead to packet\ndrops.\n\nIf you have a daemon like NetworkManager running, this may be exploited\nby remote attackers by forging RA packets with an invalid MTU, possibly\nleading to a DoS. (NetworkManager currently only validates for values\ntoo small, but not for too big ones.)\n\nThe fix is just to make sure the new value is valid. That is, between\nIPV6_MIN_MTU and interface's MTU.\n\nNote that similar check is already performed at\nndisc_router_discovery(), for when kernel itself parses the RA.\n\nChange-Id: I6b70d0c12a77c7932066982f8797d8024f130d7c\nSigned-off-by: Marcelo Ricardo Leitner <mleitner@redhat.com>\nSigned-off-by: Sabrina Dubroca <sd@queasysnail.net>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/92d28ce9ae6b7bcc9846b9bebac3d6c28e777b71"},{"sha":"5aac3c4af555a595c70e54610b0597439dfba2eb","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"KEYS: Fix handling of stored error in a negatively instantiated user key\n\nIf a user key gets negatively instantiated, an error code is cached in the\npayload area.  A negatively instantiated key may be then be positively\ninstantiated by updating it with valid data.  However, the ->update key\ntype method must be aware that the error code may be there.\n\nThe following may be used to trigger the bug in the user key type:\n\n    keyctl request2 user user \"\" @u\n    keyctl add user user \"a\" @u\n\nwhich manifests itself as:\n\n\tBUG: unable to handle kernel paging request at 00000000ffffff8a\n\tIP: [<ffffffff810a376f>] __call_rcu.constprop.76+0x1f/0x280 kernel/rcu/tree.c:3046\n\tPGD 7cc30067 PUD 0\n\tOops: 0002 [#1] SMP\n\tModules linked in:\n\tCPU: 3 PID: 2644 Comm: a.out Not tainted 4.3.0+ #49\n\tHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011\n\ttask: ffff88003ddea700 ti: ffff88003dd88000 task.ti: ffff88003dd88000\n\tRIP: 0010:[<ffffffff810a376f>]  [<ffffffff810a376f>] __call_rcu.constprop.76+0x1f/0x280\n\t [<ffffffff810a376f>] __call_rcu.constprop.76+0x1f/0x280 kernel/rcu/tree.c:3046\n\tRSP: 0018:ffff88003dd8bdb0  EFLAGS: 00010246\n\tRAX: 00000000ffffff82 RBX: 0000000000000000 RCX: 0000000000000001\n\tRDX: ffffffff81e3fe40 RSI: 0000000000000000 RDI: 00000000ffffff82\n\tRBP: ffff88003dd8bde0 R08: ffff88007d2d2da0 R09: 0000000000000000\n\tR10: 0000000000000000 R11: ffff88003e8073c0 R12: 00000000ffffff82\n\tR13: ffff88003dd8be68 R14: ffff88007d027600 R15: ffff88003ddea700\n\tFS:  0000000000b92880(0063) GS:ffff88007fd00000(0000) knlGS:0000000000000000\n\tCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n\tCR2: 00000000ffffff8a CR3: 000000007cc5f000 CR4: 00000000000006e0\n\tStack:\n\t ffff88003dd8bdf0 ffffffff81160a8a 0000000000000000 00000000ffffff82\n\t ffff88003dd8be68 ffff88007d027600 ffff88003dd8bdf0 ffffffff810a39e5\n\t ffff88003dd8be20 ffffffff812a31ab ffff88007d027600 ffff88007d027620\n\tCall Trace:\n\t [<ffffffff810a39e5>] kfree_call_rcu+0x15/0x20 kernel/rcu/tree.c:3136\n\t [<ffffffff812a31ab>] user_update+0x8b/0xb0 security/keys/user_defined.c:129\n\t [<     inline     >] __key_update security/keys/key.c:730\n\t [<ffffffff8129e5c1>] key_create_or_update+0x291/0x440 security/keys/key.c:908\n\t [<     inline     >] SYSC_add_key security/keys/keyctl.c:125\n\t [<ffffffff8129fc21>] SyS_add_key+0x101/0x1e0 security/keys/keyctl.c:60\n\t [<ffffffff8185f617>] entry_SYSCALL_64_fastpath+0x12/0x6a arch/x86/entry/entry_64.S:185\n\nNote the error code (-ENOKEY) in EDX.\n\nA similar bug can be tripped by:\n\n    keyctl request2 trusted user \"\" @u\n    keyctl add trusted user \"a\" @u\n\nThis should also affect encrypted keys - but that has to be correctly\nparameterised or it will fail with EINVAL before getting to the bit that\nwill crashes.\n\nChange-Id: I171d566f431c56208e1fe279f466d2d399a9ac7c\nReported-by: Dmitry Vyukov <dvyukov@google.com>\nSigned-off-by: David Howells <dhowells@redhat.com>\nAcked-by: Mimi Zohar <zohar@linux.vnet.ibm.com>\nSigned-off-by: James Morris <james.l.morris@oracle.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/5aac3c4af555a595c70e54610b0597439dfba2eb"},{"sha":"a932da75260a250c40a5570181be0290dbcaf30a","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"KEYS: Perform RCU synchronisation on keys prior to key destruction\n\nMake the keys garbage collector invoke synchronize_rcu() prior to destroying\nkeys with a zero usage count.  This means that a key can be examined under the\nRCU read lock in the safe knowledge that it won't get deallocated until after\nthe lock is released - even if its usage count becomes zero whilst we're\nlooking at it.\n\nThis is useful in keyring search vs key link.  Consider a keyring containing a\nlink to a key.  That link can be replaced in-place in the keyring without\nrequiring an RCU copy-and-replace on the keyring contents without breaking a\nsearch underway on that keyring when the displaced key is released, provided\nthe key is actually destroyed only after the RCU read lock held by the search\nalgorithm is released.\n\nThis permits __key_link() to replace a key without having to reallocate the key\npayload.  A key gets replaced if a new key being linked into a keyring has the\nsame type and description.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nAcked-by: Jeff Layton <jlayton@redhat.com>\n\nConflicts:\n\tsecurity/keys/gc.c\n\nChange-Id: Ifd8549b5b906c638d63c358ce1f34acd81139207","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/a932da75260a250c40a5570181be0290dbcaf30a"},{"sha":"c451f73e71fa4055c91bbff48d4598429edea830","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"KEYS: Permit in-place link replacement in keyring list\n\nMake use of the previous patch that makes the garbage collector perform RCU\nsynchronisation before destroying defunct keys.  Key pointers can now be\nreplaced in-place without creating a new keyring payload and replacing the\nwhole thing as the discarded keys will not be destroyed until all currently\nheld RCU read locks are released.\n\nIf the keyring payload space needs to be expanded or contracted, then a\nreplacement will still need allocating, and the original will still have to be\nfreed by RCU.\n\nChange-Id: I6c4f784f120951fb51ac9c23856ea37f51770bb9\nSigned-off-by: David Howells <dhowells@redhat.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/c451f73e71fa4055c91bbff48d4598429edea830"},{"sha":"45946592128691fe6f9be639f7da8d1b7462f804","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"KEYS: Add invalidation support\n\nAdd support for invalidating a key - which renders it immediately invisible to\nfurther searches and causes the garbage collector to immediately wake up,\nremove it from keyrings and then destroy it when it's no longer referenced.\n\nIt's better not to do this with keyctl_revoke() as that marks the key to start\nreturning -EKEYREVOKED to searches when what is actually desired is to have the\nkey refetched.\n\nTo invalidate a key the caller must be granted SEARCH permission by the key.\nThis may be too strict.  It may be better to also permit invalidation if the\ncaller has any of READ, WRITE or SETATTR permission.\n\nThe primary use for this is to evict keys that are cached in special keyrings,\nsuch as the DNS resolver or an ID mapper.\n\nChange-Id: I923ea0f0b8f9d6b3ff8ec8beca77b1774984f1c3\nSigned-off-by: David Howells <dhowells@redhat.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/45946592128691fe6f9be639f7da8d1b7462f804"},{"sha":"a8448b37ff3b79e1c6d50efd8c7f325d556d80ba","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"KEYS: Fix race between key destruction and finding a keyring by name\n\nThere appears to be a race between:\n\n (1) key_gc_unused_keys() which frees key->security and then calls\n     keyring_destroy() to unlink the name from the name list\n\n (2) find_keyring_by_name() which calls key_permission(), thus accessing\n     key->security, on a key before checking to see whether the key usage is 0\n     (ie. the key is dead and might be cleaned up).\n\nFix this by calling ->destroy() before cleaning up the core key data -\nincluding key->security.\n\nChange-Id: I4b9b89af020e6348af095e9014bf23b5eb1a9ef9\nReported-by: Petr Matousek <pmatouse@redhat.com>\nSigned-off-by: David Howells <dhowells@redhat.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/a8448b37ff3b79e1c6d50efd8c7f325d556d80ba"},{"sha":"fb637edeb2e7500ba552e299362dab6fc713d823","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"KEYS: Fix crash when attempt to garbage collect an uninstantiated keyring\n\nThe following sequence of commands:\n\n    i=`keyctl add user a a @s`\n    keyctl request2 keyring foo bar @t\n    keyctl unlink $i @s\n\ntries to invoke an upcall to instantiate a keyring if one doesn't already\nexist by that name within the user's keyring set.  However, if the upcall\nfails, the code sets keyring->type_data.reject_error to -ENOKEY or some\nother error code.  When the key is garbage collected, the key destroy\nfunction is called unconditionally and keyring_destroy() uses list_empty()\non keyring->type_data.link - which is in a union with reject_error.\nSubsequently, the kernel tries to unlink the keyring from the keyring names\nlist - which oopses like this:\n\n\tBUG: unable to handle kernel paging request at 00000000ffffff8a\n\tIP: [<ffffffff8126e051>] keyring_destroy+0x3d/0x88\n\t...\n\tWorkqueue: events key_garbage_collector\n\t...\n\tRIP: 0010:[<ffffffff8126e051>] keyring_destroy+0x3d/0x88\n\tRSP: 0018:ffff88003e2f3d30  EFLAGS: 00010203\n\tRAX: 00000000ffffff82 RBX: ffff88003bf1a900 RCX: 0000000000000000\n\tRDX: 0000000000000000 RSI: 000000003bfc6901 RDI: ffffffff81a73a40\n\tRBP: ffff88003e2f3d38 R08: 0000000000000152 R09: 0000000000000000\n\tR10: ffff88003e2f3c18 R11: 000000000000865b R12: ffff88003bf1a900\n\tR13: 0000000000000000 R14: ffff88003bf1a908 R15: ffff88003e2f4000\n\t...\n\tCR2: 00000000ffffff8a CR3: 000000003e3ec000 CR4: 00000000000006f0\n\t...\n\tCall Trace:\n\t [<ffffffff8126c756>] key_gc_unused_keys.constprop.1+0x5d/0x10f\n\t [<ffffffff8126ca71>] key_garbage_collector+0x1fa/0x351\n\t [<ffffffff8105ec9b>] process_one_work+0x28e/0x547\n\t [<ffffffff8105fd17>] worker_thread+0x26e/0x361\n\t [<ffffffff8105faa9>] ? rescuer_thread+0x2a8/0x2a8\n\t [<ffffffff810648ad>] kthread+0xf3/0xfb\n\t [<ffffffff810647ba>] ? kthread_create_on_node+0x1c2/0x1c2\n\t [<ffffffff815f2ccf>] ret_from_fork+0x3f/0x70\n\t [<ffffffff810647ba>] ? kthread_create_on_node+0x1c2/0x1c2\n\nNote the value in RAX.  This is a 32-bit representation of -ENOKEY.\n\nThe solution is to only call ->destroy() if the key was successfully\ninstantiated.\n\nChange-Id: Ia52370813b7e8231fdd99d2a208340af1c7b4007\nReported-by: Dmitry Vyukov <dvyukov@google.com>\nSigned-off-by: David Howells <dhowells@redhat.com>\nTested-by: Dmitry Vyukov <dvyukov@google.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/fb637edeb2e7500ba552e299362dab6fc713d823"},{"sha":"71aa5609417049d800fe8d584477109ee6f314f2","author":{"email":"fe09bc2ef2737a3258f978e26226dcbac1b3f948@randazzo.fr","name":"Benjamin Randazzo"},"message":"md: use kzalloc() when bitmap is disabled\n\ncommit b6878d9e03043695dbf3fa1caa6dfc09db225b16 upstream.\n\nIn drivers/md/md.c get_bitmap_file() uses kmalloc() for creating a\nmdu_bitmap_file_t called \"file\".\n\n5769         file = kmalloc(sizeof(*file), GFP_NOIO);\n5770         if (!file)\n5771                 return -ENOMEM;\n\nThis structure is copied to user space at the end of the function.\n\n5786         if (err == 0 &&\n5787             copy_to_user(arg, file, sizeof(*file)))\n5788                 err = -EFAULT\n\nBut if bitmap is disabled only the first byte of \"file\" is initialized\nwith zero, so it's possible to read some bytes (up to 4095) of kernel\nspace memory from user space. This is an information leak.\n\n5775         /* bitmap disabled, zero the first byte and copy out */\n5776         if (!mddev->bitmap_info.file)\n5777                 file->pathname[0] = '\\0';\n\nChange-Id: I7cd2a3c7fad2e2cb9edb8b4eff2af8a3a8f40149\nSigned-off-by: Benjamin Randazzo <benjamin@randazzo.fr>\nSigned-off-by: NeilBrown <neilb@suse.com>\n[lizf: Backported to 3.4: fix both branches]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/71aa5609417049d800fe8d584477109ee6f314f2"},{"sha":"080a123e2ae3e35805f96613a52606e8214acf74","author":{"email":"fbe788dcd509b324901fbdfe505a4d610d560569@google.com","name":"Jeff Vander Stoep"},"message":"mm: reorder can_do_mlock to fix audit denial\n\nA userspace call to mmap(MAP_LOCKED) may result in the successful locking\nof memory while also producing a confusing audit log denial.  can_do_mlock\nchecks capable and rlimit.  If either of these return positive\ncan_do_mlock returns true.  The capable check leads to an LSM hook used by\napparmour and selinux which produce the audit denial.  Reordering so\nrlimit is checked first eliminates the denial on success, only recording a\ndenial when the lock is unsuccessful as a result of the denial.\n\nChange-Id: I8d300365c8f85b002d6c5375a22abfb1b7579d20\nSigned-off-by: Jeff Vander Stoep <jeffv@google.com>\nAcked-by: Nick Kralevich <nnk@google.com>\nCc: Jeff Vander Stoep <jeffv@google.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: \"Paul E. McKenney\" <paulmck@linux.vnet.ibm.com>\nCc: Rik van Riel <riel@redhat.com>\nCc: Vlastimil Babka <vbabka@suse.cz>\nCc: Paul Cassella <cassella@cray.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/080a123e2ae3e35805f96613a52606e8214acf74"},{"sha":"01e008228f6c97c2cf382efd44fe053f658bce4a","author":{"email":"ff359ca7f9aedbb05cd6aa3d17e7b3b3ad3b25c9@google.com","name":"Ruchi Kandoi"},"message":"nf: IDLETIMER: time-stamp and suspend/resume handling.\n\nMessage notifications contains an additional timestamp field in nano seconds.\nThe expiry time for the timers are modified during suspend/resume.\nIf timer was supposed to expire while the system is suspended then a\nnotification is sent when it resumes with the timestamp of the scheduled expiry.\n\nRemoves the race condition for multiple work scheduled.\n\nBug: 13247811\n\nChange-Id: I752c5b00225fe7085482819f975cc0eb5af89bff\nSigned-off-by: Ruchi Kandoi <kandoiruchi@google.com>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/01e008228f6c97c2cf382efd44fe053f658bce4a"},{"sha":"05d365f157f7fa5ede596674366b47e6da70ee99","author":{"email":"ff359ca7f9aedbb05cd6aa3d17e7b3b3ad3b25c9@google.com","name":"Ruchi Kandoi"},"message":"nf: IDLETIMER: Adds the uid field in the msg\n\nMessage notifications contains an additional uid field. This field\nrepresents the uid that was responsible for waking the radio. And hence\nit is present only in notifications stating that the radio is now\nactive.\n\nChange-Id: I18fc73eada512e370d7ab24fc9f890845037b729\nSigned-off-by: Ruchi Kandoi <kandoiruchi@google.com>\nBug: 20264396","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/05d365f157f7fa5ede596674366b47e6da70ee99"},{"sha":"40805af54c2e470ae98933d5d96bb8ca9a6691e4","author":{"email":"7910fb7fffd740ece1bd23d38783c6a42d2cd4ea@gmail.com","name":"Gabriele M"},"message":"arm/dts: msm8226-moto-common: Add current consumption values\n\nAdd the current consumption expressed in uA.\n\nChange-Id: Ie019fd9cf5b97b91776658e010e1db59941b62d7","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/40805af54c2e470ae98933d5d96bb8ca9a6691e4"},{"sha":"60aede2d7979af4acc69ab6300b11cf94aec1f05","author":{"email":"e7b4910f4742918f5926c991d8a2cd122ac7e295@codeaurora.org","name":"Laura Abbott"},"message":"cma: Add support for memory limits\n\nCurrently, when dynamically placing regions CMA will allow the memory\nto be placed anywhere, including highmem. Due to system restrictions,\nregions may need to be placed in a smaller range. Add support to\ndevicetree to allow these regions to have an upper bound on where they\nwill be placed.\n\nChange-Id: Ib4ae194cbb6389e1091e7e04cfd331e9ab67ad05\nSigned-off-by: Laura Abbott <lauraa@codeaurora.org>\n[skhiani@codeaurora.org: Resolve merge conflicts]\nSigned-off-by: Susheel Khiani <skhiani@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/koradiavatsal/Viper-kernel/commits/60aede2d7979af4acc69ab6300b11cf94aec1f05"}]}