This is the SF Productions podcast network Pop culture bunker I have a problem from the pop culture bunker. I'm Mindy, and I'm Mark You can check out our audio podcast how I got my way three comics on iTunes or on our website SF podcast network com One of the mainstays of the now collapsing newspaper business and now becoming part of the online tumult is the advice column It's common for people to ask friends and family for their thoughts on personal issues So why ask a perfect stranger, especially when it may take weeks or months to get a response if ever? Advice columns are not really designed to get a one-on-one question answered But for the community to listen in consider the question give their personal response and even to argue with the columns response The concept goes back much further than you might think to 1691 and a column in a magazine called the Athenian Mercury I didn't even know they had 1691 people would send in questions ranging from political is the Pope evil to Philosophical what is time but the topics slowly coalesced into the types of questions? We would see today the conceit was that you were asking questions to the Athenian society Something akin to Socrates or Plato when it was actually just the publisher's drinking buddies The success of this effort spurred many periodicals to copy the idea Since most of the queries came from women and generally were tales of woe Columns became known as agony ants in Britain and sob sisters in the US It was common for the column writer to use a pseudonym both to protect themselves and to allow Publishers to swap out a new writer without changing the name Dorothy Dix aka Elizabeth Maryweather Gilmer Had a husband with a mental disorder So she so he could not keep a job forcing her to get one giving ironically mostly Marital advice starting in 1895 and by World War two she was published in 273 newspapers with 60 million readers Dorothy Dix's retirement in 1950 opened the door to a pair of identical twins who went on to lead the charge Esther Pauline and Pauline Esther Friedman. I guess the parents didn't put much thought into that Also known as an Landers and dear Abby They would eventually appear in over 1600 newspapers and became the arbiters of what was considered normal in the us They were also very conservative which fit in well in 50s America The husband's the breadwinner and the wife is to be the homemaker However, due to either changing society guiding their own beliefs or a need to follow them and stay in business Both Ann and Abby became more progressive over time Abby supported gay rights in the early 70s And Ann wrote about gun laws in the early 80s In 1975 Ann Landers dropped the facade announcing as herself that her marriage of 30 years had ended Uh, the she got back over 30 000 condolence letters The ladies home journal was the home to a column called can this marriage be saved? The brainchild of Paul Popeno a eugenicist and champion of marriage counseling Running from the 50s to the 70s as you might expect the column's answer was generally Yes, and was a proponent of white marriages in particular. The woman was considered to be at fault In most cases even in cases of domestic abuse There is also what we today call crowdsourced advice columns where someone would post a query and other readers would eventually respond in kind The boston globes confidential chat ran in this manner from 1922 to 2006 and was called the biggest backyard fence in the world It's really the earliest chat room As newspapers began to fade in importance the practice of the advice column moved over to electronic mediums The internet has opened up the advice world to specialize columns Can exist workplace advice parenting advice LGBTQ advice sex advice love advice cooking advice financial advice There's a column for everyone out there Some interesting phenomena of moving to the internet has been the relative speed of advice as opposed to newspapers Questions can be answered in a much faster time frame even in live q and a's Sometimes letters are answered by more than one advice columnist and it can happen in the same week This happens so often that almost all advice columnists have at least one column Explaining that hey these writers can submit the questions to as many people as they want There's no rules And certainly if a letter is compelling enough question for dear prudence to answer Is it any surprise that ask poly might also answer? There's also the chance that someone is just copying other letters In fact for a while the column dear debbie penned by the late debbie reynolds in the tabloid the globe Had numerous instances of answering letters that were just slightly altered from those that had previously appeared in dear prudence And then there are the fake letters going back to newspaper days Dear abbey answered a clearly A letter clearly based on marge simpson in the bowling episode Now many more fake letters make their way in and some columnists even say they suspect a letter may be fake But are answering it anyway because it is funny or universal One last aspect of the internet advice column I'd like to mention is how reactions to some letters and replies are so immediate From comment section remarks facebook postings and media responses Columnists are often made to defend or change their replies As did dear abbey just this past week when she said that Um an indian mother shouldn't give her name Her children indian names because it would be too hard to pronounce in american society Yeah So I read a lot of advice columns and among my favorites are slates dear prudence Which has gone through four different scribes and is currently being penned by daniel mallory ortberg who is co-founder of the toast website Although my favorite prudence was emily afi Not only are there weekly comments columns, but there's a live q&a every week and a podcast And many of the online columnists do this now the tone of questions Has changed with each change of prudence and it's fascinating to watch the progression of the change Ask paulie at the cut from new york magazine writes long form advice rather than tackling a few letters and problems each week She addresses just one problem This is interesting because in many other cases letters are cut for time or space And readers may never get the full picture and some kind times you want more than just dump the guy advice paulie gives a long full thought out response heather haverliske the woman behind ask paulie has several books out Including a memoir and a compilation of ask paulie columns And then there are so many advice podcasts You can search the itunes store and you find everything from deer sugar to advice from mom There's also the judge john hajman podcast, which is essentially an advice show right and And technically my brother my brother and me is an advice show exactly So there's comedy advice as well as serious advice so you can pick a subject and find an advice podcast We would be happy to give you advice as well You can write to us if you want or you can just check out our audio podcast How I got my wife to read comics on itunes or on our website sfpodcastnetwork.com But come to think of it how I got my wife to read comics could be an advice Advice of what comics to read There you go who knew from the pop culture bunker. I'm indy not mark. Thanks for watching


Hello everyone. Thanks for joining us. My name is Ophir. I work for Google Cloud. Alex from Oracle and I will present address space isolation for HVM. This idea started more than a year ago, was presented also in LPC by several different companies. They were trying to merge work by IBM, Oracle, Google and potentially others into one unified framework for other space isolation, more on that slightly later on. And other space isolation is a defense mechanism against speculative micro-architectural attack. And we discuss more of that in a second. So why do we need other space isolation? So about a couple of years ago, we've seen attacks like L1TF and MVS that are able to get information for micro-architectural buffers. L1TF can get data from the L1 cache. And if you look at this drawing, you see, for example, two VMs running, one of them the attacker VM and the other is the victim VM. And the attacker VM is capable of basically inscribing the L1 cache. And it doesn't even matter who this data belongs to, whether it belongs to the victim VM or maybe to the host, the attacker is capable of getting this data. If we look at the MVS attacks, the attacker is able to get data for micro-architectural buffers. For example, the ride buffer. And this is bad. And the reason this is bad is because obviously we are breaking the VM boundary. One VM can steal data belonging to another VM. And also a victim VM can also steal data that belongs to the host. And potentially the host has credentials to communicate with the rest of the data center. And while it seems initially that those attacks can only work in very specific scenarios, those attacks are actually very powerful because it seems to be more practical than one would think. So the danger is that one VM can steal data from another VM or steal it from the platform. And this is obviously very bad for the cloud environment. And we want to come up with an efficient mitigation that allow us to prevent these attacks in a reasonable performance over there. So let's first see what are the obvious mitigations that one can deploy in order to prevent these attacks. So one obvious mitigation is to disable hyper-threading. Basically saying, you know what, hyper-threading is a bad idea. But that comes with a pretty reliable solution, but it's quite expensive. In theory, we can lose up to 30% if we disable hyper-threading. And that's not what we want. Another option is to basically make sure no two different VMs are running on the same physical core. Again, it creates slightly more complicated scheduling, it's possible. But we still have the problem, what happens when we need to save a VM exit? Then the host needs to run some code, maybe bring some secret data into the cache or into some other micro-architecture buffers. And basically what you need to do then is maybe find a way to stop the other thread. Let's say you have one sibling logical core serving a VM exit. Then before you serve the VM exit, you want to somehow pause the other sibling thread. That's also quite expensive, obviously. And it's a quite complicated mechanism. And in other space isolation, what we want to do is basically deploy defense mechanisms only when we actually meet, meaning only when we actually access what can be sensitive data. Only then we will deploy mitigations. So let's try to give some intuition about ASI. So in the next slide, if you can, yeah. The intuition to an ASI is basically we will try for the most time, for most of the time to not have most memory mapped in the page. And here's a trivial example of Spectre version one. It's a function that will access an array, its location index. And if you look at the if in the beginning, we will check if index is within the bounds of the array. And then we'll access some other array with this index. And what will happen is that if the index is too big and the branch will be predicted accidentally as taken, we will access array location potentially million. And in theory, we can access an arbitrary location memory. And then this memory will be brought into the L1 cache or into some other micro-architecture buffers. And the idea is that if when a program runs, only data that is not sensitive will be mapped in the page table, then any access, whether it was speculative or not speculative, it will cause a page fault. And basically the processor cannot speculate behind a page fault. The processor doesn't know the translation between virtual and physical. It cannot bring data into the micro-architecture buffers. And if you cannot bring the data, then it means that secrets are not in micro-architecture buffers. So that's the key intuition behind ASI. Basically, let's not map data that we don't need to into the page table. So as an overview, the idea is let's say we have, just in the case of VMs, we have two guests running. And most of the time when we are serving a VM exit, whether it was an interrupt or something else, we touch memory that has to do with the current guest that is running. And the idea in ASI is let's have a page table, a limited page table. You can think about it as ASI domains. Guest A will have in this example ASI domain 1 and guest B is ASI domain 2. And when guest A is running, to serve most VM exits, we're only touching data that has to do with guest A. And the idea is that if guest A is trying to steal data that belongs to itself, then we're saying, we're slightly relaxing the security requirements, basically saying if a guest VM steals data that has to do with managing itself, then we're okay. It can try and steal it because there will be no particular secrets that can be exposed. And what happens if we need to serve a VM exit and then touch some other data, then we want to identify it and say, okay, now there's a chance we're actually touching secrets in memory. And we won't be more careful. Maybe now we want to synchronize with the other sibling core and pause it. That's sometimes known as stunning. And then maybe when we touch privileged memory before we get back into the ASI domain, then maybe we want to scrub secrets from buffets. For example, to prevent L1DF, after we touch privileged memory and we want to go back into the ASI domain, we will only then flush the L1 cache. And that's nice because it means that hopefully for most VM exits we're only touching guest A stuff and only every once in a while we touch some other data and only then we flush L1 cache, not on every VM exit. And if we want to defend against MBS attacks, it means that maybe we run the VERW scrub instruction only if we actually touched potentially sensitive data. And with ASI, we will know that it potentially touched sensitive data because when we touch it, we'll get a page fault. And that's something very tangible that we can notice and invent that we can manage. And then there's also a question on how we end the interrupts, of course, but more on that slightly later on. And this idea now we explain is how to manage address space isolation for KBM, the other options as well. And Alex now will explain what other usages we can have for other space isolation. Yeah, thank you. So although ASI was initially designed for an application with KBM to mitigate the some speculative attack, we expect that we will have over usage for ASI and that we can make ASI more generic and not specific to KBM. So for KBM, as explained, obviously, that's to protect against this guest-to-host attack. Main challenge in VERW is what data do we want to include in the ASI, what is really sensitive and secret. What we expect ASI to be useful to is to do what we call a user ASI, which is to reimplement the kernel and user page table, the page table itself and the switch with ASI in order to refactor the kernel page table isolations of the KPTI, which is a mitigation for the specter of V1. And KPTI work almost the same way as ASI, that is that you have one page table for the kernel, one for user-land, and when you enter an exit user-land kernel, you will switch the page table. So this is an area where we can use ASI to have the same implementation. Over possibility would be to have some user-land ASI. This is some idea, we haven't looked into too much detail yet, but the idea would be to provide the ability to use a process to have multiple address space. So currently we use a process as a single address space, that's a single page table, but we can imagine a process having multiple page table and being able to switch between the different page table. We think these may have some useful usage for virtual environment, like the Java virtual machine or the Grow Virtual Machine or containers, where you need to, a single processor is running multiple environments and you want to be secure between these different environments. So this is really something we are only investigating at the moment. Now we are going to go into more specifics about the KVM ASI implementation and how this is used exactly. So the idea is to have an address space with a limited kernel and VM mappings. So basically we need the mapping to enter the VM and then under the VM exit. The goal is really to be able to run the VM and under most VM exits, at least the most we can, without exiting ASI, so that we can loop and stay running safely with ASI. So the idea is that on an ASI we are going only to map the data for a single VM. And that way we can prevent over VM running on the CPU core to steal data from another VM or from the host. And to do that also safely we would need to synchronize on the VM entry if the other sibling is not running. There's no need to synchronize if your sibling CPU thread is also running ASI because we know it itself, we know there is no data to secret data that you can get from there. But if anything else is running in kernel context, not in ASI, then potentially you can steal something. So this synchronization is really needed. And in that area core scheduling is going to help because with core scheduling you are going to be able to schedule on the same CPU core process from the same VM. So you would know that at least that's the same VM and you just have the risk of being in kernel context where you can steal some data. So as I mentioned ASI is more generic, it's not specific to KVM. And the generic life cycle for ASI is pretty simple, basically you create an ASI, each ASI is going to have its own page table. Then you would need to populate the ASI page table with data you know which is not sensitive so anyone can access it, it's not a problem. And then all you have to do is to enter ASI, so when you enter ASI that's an explicit command and it will switch from the kernel page table to the ASI page table. Once we're running with the ASI page table we still need to be able to handle the exception before the context switch. And sometime to do that we need to interrupt the ASI and maybe a resume depending on the context. Once we are all done with that and we don't need ASI anymore, we exit the ASI switch back to the kernel page table. Once we are completely done with ASI we can destroy the ASI on the page table. So that's a fairly simple use basically like yeah page table, use that page table when you are done you exit. If we look at the usage more specific to KVM, the idea is that we will create one ASI per VM or per vCPU. So it depends on the implementation. I don't have to test both, you have prawn cones for both of them. If you create one per VM then you will use the same ASI for all vCPU otherwise you can also have one per vCPU it depends on the implementation you want to do exactly. Then obviously you populate your KVM ASI page table with things which are generic as kind of information you need just to enter and run your ASI and also things which are specific to your VM or your vCPU. And after that the KVM ASI will be used when you are running the VM itself so when the guests are running the vCPU guest. So it will all start with the KVM run IO tour and you enter in KVM the vCPU run loop and during that loop will enter the KVM ASI. And right before entering the VM we need to ensure that the over zippling CPU they are also running with the KVM ASI. This is where we want to ensure that what we are going the VM we are going to run is secure and it's not going to steal our data. So this is where we'll have some synchronization to do. Once we know that the zippling CPU are also running the KVM ASI we can do the VM enter run the VM. Once we are done we exit the VM and once we have exit the VM we can stop this enforcement of having a KVM ASI running on the zippling. So we are back from the VM we are still running with ASI and now we want to process the VM exits. So we'll try to run most of the VM exits with KVM ASI that's really the goal. If we need at some point when running the handler to exit to work and then we'll do that. But because this is a loop we are going to re-enter and we are going before doing the VM enter we are going to re-enter the KVM ASI to be safe on the next run. So first thing as I mentioned is to when you have an ASI is to fill the page table of the ASI. So there is a very basic solution which is just to add each mapping that you need. We have command like ASI map where you specify ASI the address you want to map and the size of the buffer you want to map. And I'm a command when you are done. So this is similar to the memory alloc and free. So instead your map and your unmapped your page table and that works fine. If you have well-known buffer you know when they are located especially if they are pre-allocated they are located at the beginning of the boot or when your module is loaded it's easy to map them before entering your ASI. It's becoming more complicated when you have buffer which are dynamically allocated and frequently relocated especially this is happening while you are running with ASI. So we need some mechanism which are more performance especially for trying to add some mapping more automatically. So one first idea is to track and tag the statically allocated buffer that we need and we know have no sensitive data. So a simple solution is just to put this data into a dedicated section. It can be fairly simply done by just setting a compiler section, a compiler attribute with the section where you want to store this information. So a simple solution is just to define a special tag ASI not sensitive which is an attribute, compiler attributes which this fight but these data is due in the dedicated section. And once we have that when we create an ASI we can just map the entire section into the ASI. We know these data are safe but we need them to run our stuff. For the dynamically allocated buffer what we would need to do is to flag this buffer. So to do that we can use a new tag to specify that the buffer we are locating is going to store non sensitive data. So currently there is a global non sensitive and a local non sensitive. A global non sensitive would mean that the data are not sensitive whatever ASI you are using. So you can map them into any ASI. The local non sensitive is different in that it's sensitive data, but it's not sensitive only for this process for the current process. A good example for KVM is the VMCS. So the VMCS has information about the VM, but it's not sensitive. If you are using and running the VM it's sensitive regarding a different VM but not regarding the current process and the current VM. So when using this tag the buffer are located and they are automatically mapped into the ASI, the current ASI. And they will be also automatically unmapped when you free the buffer. Once you have your page table defined for ASI we need a mechanism to switch the page table when you enter the ASI and when you exit the ASI. So that's very simple, especially on x86 it's just a control register to update, but we see a free control register. So that's basically one assembly instruction, very simple. The complication is that it's not very efficient if you don't consider the TLB. So the TLB is the translation look side buffer. This is a cache of the virtual address to physical address translation. And this cache having avoid having to go avoid having the MME to go through the entire page table to do the translation because the translation is already cached.  If you don't know any special processing. So now the Intel processor they have some optimization which is the user process user context identifier the PCID. PCID that's a facility to associate to TLB entry with page table. And the benefit is that it avoid flashing the entire page table TLB you will just flush the TLB entry for your page table. And so in the implementation this is something we're taking into account so that we have an efficient page table switching mechanism when we enter and exit the ASI. So now we have created the page table. We have a mechanism to switch the page table. And now when we are running ASI we need to be able to handle the interrupt and the exception. Because yeah, you still need to process them. The problem is that you have ASI you have defined so your page table you have defined for your ASI may not necessarily have all the mapping to run the interrupt and exception handler. The simple solution for that is to suspend the ASI when there is an interrupt process the interrupt and then reenter the ASI. So that's why this drawing is showing so you start with some code running with ASI there's an interrupt you switch you exit the ASI switch to the counter page table process the interrupt handler. When you are done, you switch back to the ASI and your code is going to continue. So the simple implementation. We expect we can do better for some interrupt and exception handler because this mechanism require an additional page table switch. So ideally, we would like to be able to run the interrupt and exception handler with the ASI page table. Of course, this may not be always possible for Portugal and draft whites. It's better just to switch switch off to the to the channel page table. But still we can we can put in place a mechanism to do that. So the idea is that the handler when there is an interrupt the handler is going to start, but it's not going to switch the page to the ASI. So it will continue to run with the ASI page table. So basically, it can fail at some point because there is not the require mapping to do to do the processing. In that case, it's going to take a page fault. And the solution there is to handle the fault and to do and switch at that point to the channel page table. To continue the processes, the processing of the interrupt handler. So here, the figure is showing the ideal situation. We've got code running with ASI. We take an interrupt. We don't switch the page table and we continue and are able to process the entire the entire interrupt with ASI. When we are done with the interrupt return and we're using the execution of the code still with ASI. Most of the time, what is going to happen is this situation where we've got some code. We're adding we've got an interrupt. We start processing the the interrupt with ASI, but at some point because we don't have all the mapping we are going to take a page fault in the ASI. So we go to the page fault handler at this point we're switching to the channel page table. And we retry and continue the interrupt handler with the kernel page table. Once we are done, so we have processed the entire interrupt part of it with ASI part of it with the kernel page table. But once we are done, we return to the ASI and the code continues its execution. So it may be a way to to investigate which which handler we can run with ASI and found which mapping we need to do the processing. But that's basically an optimization we're trying to to be more efficient when there is an interrupt or exception while we are running an ASI. Now there is a particular case, as you have seen also with the page fault. So if you have an ASI and you don't have the mapping you're running with ASI there's mapping which is not that you need which is not present in the ASI. Then a basic behavior is to exit the ASI switch. So there's page fault page fault handler is going to exit the ASI. So switch to the kernel page table and it's going to retry the instruction level for Tokyo. So basically we are exiting the ASI on page fault. What we do in that case is that we log some information about the fault so that we can identify after after what is missing in the ASI and what has caused the fault. And eventually after that we can add the missing mapping to the ASI page table to prevent the fault. So this is manual processing we have to look at below figure out what's missing and then add the mapping. We can certainly do better. And there is some automatic way to do this by automatically adding the missing mapping to the page table. The only issue if we add the mapping automatically is that we need to ensure that it does not provide access to a sensitive data. So if we have that we can add the mapping automatically and return to the ASI so retry the faulty instruction and hopefully it will work and we'll continue and it will also avoid faulty again in the later on the same problem. And to do that, we're also making usage of the global non sensitive flag I mentioned earlier about dynamic allocations. If you have done it, if an allocation was done with that flag, you know that this data is not sensitive. And so you can automatically map it into the ASI if there has been a fault on it. So that's a way also to improve the mapping in an automatic way. What can happen also when you are using ASI is that you are being scheduled out. And in that case, the behavior would be fairly simple is that we interrupt the ASI so it's going to exit the ASI, save the ASI information for the task. And once the task is scheduling, then we are going to resume the ASI that is enter the ASI again and with the information which were set for this task. There's a bit of complexity if this secure during an enter up an exception handler because the ASI may have already been exited or interrupted. So this is just thing we need to take into account into the implementation. A more complex mechanism that we are also using is the synchronization across CPU thread. As I mentioned for KVM ASI, when you enter KVM, we need to make sure when you enter VM, you need to make sure that the CPU is also running the KVM ASI. So we need a mechanism to force all CPU thread from a CPU core to use a specified ASI. And to do that, we need the CPU to look at the other sibling CPU if they are running ASI or not. If they are running ASI, then that's fine. We can just continue to run. The only thing is that they should not be allowed to to exit the ASI because we want them to run ASI. If the sibling frame is not running ASI, then we need to force it to run ASI. And to do that, we send a rescue request. And if the next stack is using ASI, then we can let it enter ASI and run. Otherwise, we need to enter ASI but wait in an idle loop. So basically the mechanism is like this. We've got the CPU in VM, which is running KVM. Suppose we have two sibling CPUs. So first the CPU running KVM. At some point before entering the VM, it's going to start this synchronization process and it's going to have a look. So pick for ASI if it is running on the other CPU. In that case, we can see that the T-over CPU, they are running ASI. So this is fine. There's nothing to do. And we can stop the VM. We know the other CPU are running ASI. If one sibling CPU, for example, CPU to try to exit ASI, then we are going to block it. It's going to be blocked in ASI in an idle loop until the main CPU exit the VM and stop the synchronization. At this point, it's free to go into the kernel. The other CPU if it is running ASI will just continue to run. If the other CPU is not running ASI, there's a bit more complication. Because in that case, we still have the same beginning. We stop the synchronization. We look for ASI and the other CPU. In that case, other CPU, they are not running ASI. So we'll send a reschedule request to this CPU. So they will select a new task. For example, CPU one is going to select a task which is using ASI. So that's fine. It can enter ASI and continue to run. Our CPU is picking a task which is not running ASI. So in that case, we cannot run that task immediately. Instead, we switch to ASI and wait. So at this point, when both the sibling CPU have entered ASI, we can run the VM safely. Once we are done with running the VM, we stop the synchronization. So for the CPU already running ASI, there's no impact. But for the CPU which was in the idle loop, we stop this loop and we can run the task which was not using ASI. So that's a bit of complexity to do all this synchronization. And this is something we're still investigating and trying to optimize. Another thing with this CPU synchronization is how do we handle the interrupt and exception, especially if there is an interrupt exception and you need to exit ASI. And in that case, we have to force all sibling CPU to interrupt so that everyone is going to stop and do the processing and interrupt. And so there is a synchronization needed to when we do the processing of interrupt and we are synchronizing the ASI. We are also going to look at what Korska doing is doing because they are the similar mechanism in place when they got an interrupt on the call which is running a tag process. And now, yeah, we'll have a bit more detail about the page table and we'll continue about that. So now we'll give a brief discussion on how page tables look like. There are probably several ways on how to manage page tables, but this is one way that we're doing it right now. And just like as a general background to kind of like ease into like why we design the page table as they are. And in the next slide, we have this is a rough description of what look how it looks like for KPTI, right? When the user space, only user space memory is mapped other than tiny bits of the company memory. When we switch into the kernel, we're switching the page table into a page table that also has everything that the kernel has, which also belongs to all the processes in the system, global variables, obviously also kind of text. And in KPTI, basically the idea is that privilege is based on whether you are in user land or in kernel space. And in ASI, this is slightly more nuanced. So instead of like basically saying you can have space or not, basically what we're saying is, well, we're defining privilege based on the data, not necessarily on the executioner. So we had, for example, on the right hand side, user space page table. And now we have in a simplified, at least scenario, two extra page tables, the unrestricted page table, which is basically what we used to think of the kernel page table, which has everything. And then we have the restricted page table, which is the ASI page table. The restricted page table only has mappings of non-sensitive data. And the question is, how do you define non-sensitive versus sensitive? In general, at least now we are hoping to use kind of like an allow list approach of saying, okay, everything is a secret except for what we think to be a non-secret or non-sensitive. So this can be global non-sensitive data or local non-sensitive data, which we'll talk about in a second. But basically we're saying non-sensitive data is data that we are okay to, if it's stolen, if a malicious virtual machine tries to perform L1TF attack or LDS attack to steal the data, stealing this data will not cause a threat to other virtual machines or to the cloud infrastructure. And for performance reasons, we clearly care about data that is frequently accessed in order to set my VMX. Because if data is being frequently accessed, it means that if we will not put it in, consider it as non-sensitive, it means we will incur many ASI exits and any ASI exit obviously has a performance cost. And now we can kind of like discuss a bit more in detail about that. So as we said, non-sensitive data can be accessed by L1TF or other information. Yes, thank you, Alex. And we can discuss what does it mean to be local versus global data. So local data, as Alex mentioned before, it can be the VMCS, maybe the five script table, anything that belongs to the specific VM. And again, we say if the VM tries to mount an attack to steal it, maybe it's not ideal, but it doesn't necessarily cause a significant threat to other VMs or the infrastructure. And global data is data that can be basically accessed by all virtual machines in the specific machine. And if it's stolen, there is no significant threat. And the nice thing about the global data is that we can share the PGD entries in the page table across all the different ASI page tables. And this gives us a really nice way to manage memory, because if you think about local data and if you need to update the ASI map, we probably need to update it across all the course that run the specific ASI map. And this is specifically a problem if you are deciding to unmap a piece of data from the ASI map. We'll probably need to flush the TLB for all cores who run the same ASI map. And with the global data, if we share PGDs, it means that we can edit the global ASI page table. And we don't need to update even if we have hundreds or thousands of ASI page tables. We don't need to update them. If they will have a page fault, we will basically look to see if the page fault was in the area of the global sensitive data and if it was, we will just add the PGD entry. And that's it. And I think now we can go to the next slide and talk about early results that we have. So we have various implementations we're hoping to kind of like coalesce into one unified one, but this one is one we ran on LSPI, YCSB benchmark. And the first thing we can look at is the ratio of ASI exits versus VM exits. Obviously, ideally we want this ratio to be as low as possible. Let's say we had 10,000 VM exits. Ideally, we want only once or twice to touch something that forced us to do an ASI exit. We're not there yet, but what you can see here in this data on the specific benchmark configuration we ran, we had two VMs and every VM had eight vCPUs. And if you look at what's circled in the red rectangle, you can see the ratio between ASI exits versus VM exits. It's between 20 and 50%, which at least shows that we can implement ASI in a way that we don't have to do an ASI exit for every VM exit. And we believe that basically by adding more and more data into the ASI page table, we can hopefully reduce it to a very low number. And that can be in the lows 2%, 2%, 5%. So the performance impact of ASI will not be too significant. So if we go to the next slide, we can start seeing how can we analyze what caused the VM, the ASI exits, right? One of the big challenges in ASI is kind of like, okay, what exactly do you need to put inside your page table? And as we said before, whenever we have an ASI exit, we can log this information. And if we look briefly at the column, it's like on the left side, we see the instruction pointer, which instruction pointer caused the page fault, caused the ASI exit. We can look at the address, what was accessed, and then we can start and do some analysis. So if you look at the middle column, which is accessible, it's basically an interpretation of the instruction pointer saying, okay, what source line accessed this data. And if we go to the next column called allocator, it's basically our bug framework trying to interpret, okay, who allocated this data. And this is very useful because then if we see which code allocated this data, we can maybe say something smart whether this data is sensitive or nonsensitive. And hopefully we can decide it's nonsensitive data and add the flag like GFP, local nonsensitive or GFP, global nonsensitive to edit. So next time that we really run the benchmark of the experiment, it will already be in the ASI map and it will not cause ASI exits. We can even do a little bit of more analysis if we go to the next slide. So for example, we can look at the allocators and kind of like see which allocators were the most common to cause ASI exit. And okay, the top one is something that we couldn't infer who allocated it. But again, you can look at the data, see which source line accessed it and maybe say something about it. But if we look below, we see for example, the second place is basically allocating PMU context, basically Perth events context, which potentially we can argue that the context of Perth events maybe is not that sensitive and we can try and say okay, those allocations we can consider to be nonsensitive and add them to ASI. We can see, I think it's the fourth line here, you see SDLLC size, that's a global variable that apparently was accessed quite frequent. And we can look at it and say okay, this global variable is probably not that sensitive, just basically says what the LSE size is. So we can add the tag of ASI, not sensitive. And that way we can have an iterative process of saying okay, we want an allow list, we want to only have an ASI data that we need to be done sensitive. And we can use this debug framework to give us some visibility as to what actually causes ASI exits. And hopefully by doing this iterative process, we can add more and more data to get better and better performance for ASI. Now Alex is going to talk about the current status of the ASI project. Thanks, so just a quick story of where we are coming from with ASI. So the idea was suggested after the L1TF speculation I think discovery, this was by the end of 2008, it was first presentation at KVM forum. And it's mostly inspired from a fix that Microsoft has done in their high pervy for their high pervy mitigation. We had more discussion at Linux Pronger in 2019. And also, first development where started at Oracle where we have submitted several RFC. There was a RFC V1 which was very KVM specific and the comment from upstream that was that we needed something more generic. So that's what the version 2 has proposed. Which provided a kernel ASI framework and KVM is just a consumer. V3 was the integration with PTI. This was another comment we have upstream that ASI is similar to what PTI is doing. So we should be using ASI to implement PTI as we have a generic framework. V3 added some page table management function, which may not be the final solution we are going to, but this was the first try. There was a V5 which was supposed to be released after Linux Pronger this year. So this was adding the ASI synchronization in addition of V4. But at Linux Pronger was also this presentation from Google of different implementation. So since then we are working together to go to common solutions instead of developing our own implementation. So really the work we are doing now is some collaboration between Oracle and Google to define a common solution and to convert our implementation. So we have some things to, there was a lot of work to do, especially around how we do the page table management, what would be the solution we are going to to manage the interactive section, the page fault. How do we do the synchronization of the CPU threads with CPU stunning. We need to look at what's happening also on the core scheduling side where they also have a CPU stunning mechanism. And also there is the PTI integration to investigate because of the different implementation. But the goal is really to provide and to upstream a common implementation and not to have different implementation. So there's a lot of work to do. We also preparing some preliminary work, which is to relate it to PTI, which is going to help and simplify the support of ASI, which is to defer some page table switching that PTI is doing currently in assembly code to C code. So we are doing a lot of cooperation and there is, but there's still a lot to do at the moment. So that's it for this presentation. Thanks for your attention if you went that far. And hopefully we'll have some opportunity to get some feedback and questions at the KVM forum. Is there anything you want to add? No, thank you very much Alex. We'll be happy to take questions again. Thank you.


When we're talking about corruption and a lot of these systematic effects that are inhibiting change or positive change, I think two of the things that often are lacking are monitoring and enforcement. So if young people together can form a cohort, form a group, and try to affect that in your spare time, if you can monitor the positive laws that are in effect and enforce them by contacting uncorrupted officials, you can have greater change because a lot of times there's just not the funds in a developing economy or in other regions to monitor and enforce these laws that are in effect.


The babysitter for the kids and bought a bag of weed and came in here for. I need you to do one thing for me before we start. Make sure you go on YouTube, subscribe to the 85 South Show.  Shreveport, you are witnessing greatness in here tonight. You're witnessing the next Kingdom Comedy!  I'm sure though. Instagram's gonna make everything better. No, because then they know what to come back with. Right. If they know what we got, they gonna know what to bring. Right. But we always come prepared. And we got God on that side. Come on, man, we coverin'.  That's why you be ready. I got a little shot. Get my money. I ain't never been in no way. I'm sorry. She never been in no way. I meant to bring a steak. Steak. I meant to bring a steak. Big. That's a hot dog. Steak.  Oh, yeah, I'm gonna wanna like hot dogs. Yeah, bring a steak.   Yeah, hey, I'm gonna like hot dogs. Yeah. Oh, it's all right. Shreveport, do we give her... She smell that. They got a water leaking in her. What do they do? Look, let me see. Where is that? Where is that? This is the water leak right here. This is the water leak. It's a water leak. 18th hit, this is it. 18th hit, this is it.  My little kids had a water leak. What's up with this?  These things. They got a water leak. This is the water because it's raining.  Yeah. This is a real school. It's really a morgue in the basement. That's the ballerina.   Uh, uh, uh. People love tap. They got a motherfucking water leak. They got a motherfucking water leak. It smells like outside up top. The man's got like, yes, they're here right now. Put your thing on it. Say what? Say what? Put your thing on it. People on the top, put your thing on it. People on the top, put your thing on it. Look at them both up there. Look at them both seats up there. Them both seats don't stay. Yeah. Look at my man. They can't be loud. He's got a bigger turn. They got a motherfucking water leak. I think it dances like a white man. They got a motherfucking water leak. Oh, yeah.  They got a motherfucking water leak. Ow! Bought out tickets today. Tickets today. One more time, brother. People in the back. I did buy it. Look. I got it on my Android. Hold up. Let me get it.  He tapping the word for it. Okay. Got a motherfucking water leak.      I got a blade and a pistol. You give me a full shot. When they asked me how to show when I'm gonna tell the truth. What?    They go one leak, two leak, three leak, four. Look at that. Ow! We got one leak, two leak, three leak, four.  Told them niggas, the last show they put a fake that leak. Keep raining on people's heads out here. We ain't Shreveport. We ain't Shreveport. Yeah. In the building, it is packed with stuff. They got a water leak. My allergies was acting up. Yup. We ain't Shreveport. We ain't Shreveport, man.  Oh, what's going on? God bless you. What kind of...  He just liked the scarf. This thing.  Put on your tashiki. You ain't hot. This nigga got on my clothes. You ain't good.  What it is? Put it up. Put it up. Oh! This nigga that gave me some... Pull it up. Pull it up. Pull it up. This nigga that gave me some... What's up, Shreveport? How y'all feeling? Nigga on it. This nigga with the McDonald's. I guess I'm gonna say East for D.C. right here. This nigga got on a Burberry Quintet cloth. Last time we came to Shreveport, man.  Oh, jeez.  I got you. I got you, jeez. Yeah.  No, don't take that off. If you do take it off, wipe the water up. That's what you need to do.    You know what? I got some food. I got some food. That's right.  Hey, don't put that on, boy. Got termites on it. Don't do it. Welcome to D.C. But don't even count it. Yep, it's all good. Welcome to D.C. My name is Dumboto. And we are here to have a good time. Please excuse the water leak. My family hasn't had the opportunity to come in and fix it yet. But as long as you don't get wet, then it will be okay tonight. Yes, yes, it is very good. It's very good. Last time I came to Shreveport, they put me on some music from down here, man. So there's the beat drop. I'm a killer. Do it, do a stick. Do it, do a stick. Yeah. Ratchet life, ratchet committed.  Yeah, you know that. Hey, I'ma start it from the beginning. Hey. He like, y'all know. Don't do me like that. You know. Nigga, hold up. They go like this.  Do a stick. Yeah. Ratchet life, ratchet committed. Sickness in the city. Yeah. I got some youngers about their money and they take prescriptions. Yeah.  Gang. I'm putting bars in a fan and they call it ratchet. Gang. They ask me what's that you can't touch. I say that MC Hammer. Gang. I heard them niggas talking beef I let my gun hang. Gang. Pop a shot out the Cavaliers and like LeBron James. Yeah. I love the plug. He keep handing me bricks. We pop them boys. Who is this? We run a whole championship as ratchet life.  Who is that? That's ratchet life, nigga. I'ma go down to it right now. That's cool. I ain't never heard it though, chief. All I know is this building got a motherfucking water leak. Nigga, that's low on. Oh. They got low on. Much love to all the ladies we can cooch it. And know all the words to Lil Boosie. Ah. I'll tell my every last one on. Lil Boosie. Lil Boosie. Every last one on. Say I been going through some things. Y'all. And don't nobody understand me man. I want my candy man.  I been going through some things. Hope and my niggas stay the same. But they always change their minds. They always change their minds. They always change their minds. They always change their minds. I been going through some things.  Y'all.  And these niggas wanna snitch. I wanna get rich. But sometimes I don't believe trying to sell a hundred dollars. I can burn my CDs.   Cause I want a ride. Candy man just like the others. Sometimes I wish you were like that and wanna steal your home. I steal your home. And these niggas wanna rap about you. Know you a savage but they still won't bring that savage out. They get exposed and these hoes they throw the money.  Y'all. And check this out in their room it's real wicked and you can't go platinum down here cause this ain't New York City. Hey. Y'all. Y'all. Y'all. Y'all. Y'all. Y'all. Y'all. Y'all Digital yeah, right now in my country where I come from we are required to learn these things. There is a class in my school where I come from in my village where we are required to learn songs from Louisiana. Me. It is very very good.  I am a Mexican. I swear With Eddie hey how you doing. That is very good. It's very good.  Stolen. Now here hold another nigga, right, hold it, recognize that nigga, I'm like who are you?   When the show up, he gonna be standing outside my brothers, my brothers, my brothers. The reporter was leaking, but it's your mind leaking, my brother. Hey, so you know when they be setting the case, what are they? What do they mean? What do you mean?  That's just what they say, oh that's a hustle. They don't see another nigga? Yeah, they do. No. It's hot out here. They got fruit, they got fruit too? They got fruit?  Who made this? Did you make this from scratch nigga? It looked like it. It looked like you made it from scratch. She came from scratch her paper, this one. This time I came from something else, this is a recycle bag. African fashion show. The middle of the mall sale instance.  He just cut a hole in it.   And they got a beatnik, how you found a beatnik? They ain't got a beatnik, let me get a beatnik. It is so you can show your chains. Your beating chains. You have chains, you have on a dashiki and then you have on cut grass nikes. I like it sir. You don't know what you are going to do. Are you going to preach or are you going to run? You don't know, you are a prophet for more cut grass for free. This nigga, yes. He said welcome, don't talk like that now. Don't try to sound like the street poor people. You know you talk like this.   Look at them niggas. They ain't in the five-stinguish. Yeah. Shout out to the whole Louisiana. You heard me?  I'm a white niggas from Louisiana that can't nobody else hear. You heard me? Yes, nigga, I heard you in the first 12 times you asked me if I heard you. You know one of the things. I like about Louisiana, like when you go to different places, you know every nigga in different places call a gun different name.  I got that eye on me, nigga. I got that what? I got that eye on me, pussy.  That's what they sound like. I got that eye on me, pussy.  I was like, would you be wrinkled all the time, nigga?  That eye on me, nigga. Let me talk with that little guy. Let me talk with that hand on that hip all the time. But he didn't got me. What? What? Man, I can start to send this off with three cuss words.   Mm-hmm, they know what that mean. Eating booty. That nigga said be in the mud. That's what they call it, boy.   You heard, man, I got that eye on me, pussy. That nigga got that eye. I was like, I don't want any mud.  Too goddamn hot.  You gotta eat in the wintertime.     This a hot girl's summer. Your blood pressure shoots sky high.  You can't eat too much of it. You got a lot of salt back there. A lot of salt. Louisiana, the only place you can meet a woman with 11 kids and no stretch marks. Damn.  She's a mutant nigga. That's amazing.  They said that niggas couldn't even come in here before a certain point. That's how old this building is. This is a basement. They say there's six ghosts in this motherfucker. I'm like, well... Wait a minute, wait a minute. Wait, wait, wait.  What? That's the first thing the white man can say. Hey guys, welcome to Shreveport. This is a very unique building here, man. You don't believe me, DC? Look at that white man right there. That's what he doing. He walking around filling the energy. Elizabeth Jackson. One of the original Titanic survivors. She spoke to me earlier in a vision. Not an activity along the rails. That's what he ain't doing.  The louder they talk the further she drifts. The louder they talk the further she drifts. That's a lot of activity along the rails. This is crazy. For real.  I got respect for Roaches. My Roaches don't come out until necessary. Now how I know if I don't, if my Roaches don't trust you, I ain't gonna trust you. They come out when it's a nigga that don't need to be there. They like, hey.  Well, niggas ain't come across the clock. That ain't the him right there. Who in here grew up with Roaches? Me. One person. Come on, man. Give it one hundred. Come on, man, be one hundred, man. Only one nigga.  Nigga, you got Roaches, nigga. I spot Roaches at everybody's house. Everybody's house.  If you got any type of bug, any insect, you are part of the family. Yep. If you got ants at your house, you part of the family. Centipede. If you got centipedes at your house, you water bugs.   My auntie had Roaches so long, they left. They do that. They do that. After a while, they were like, you know what? We moving on to a three-bed room.  I got a family now.  I ain't no young Roach, no more. I'm telling you how they call them, man, clowns. If you get up all the clowns, you good. If you leave one little clown, all right. That ain't what my mama used to tell me. She used to tell me everything, draw Roaches.  I'm like, what the fuck, the Roaches?  Hey, you ever been to somebody's house who got Roaches? You know it, depending on where they live, it depends on how they act.  Kitchen Roaches are the worst. Look at the people who had Roaches. They know it ain't been like two or three Roaches in the barefoot room. It's a big one, a little one, and then it's like a medium-sized one. I call them the lost Roaches. They're the slow ones. They don't really know what's going on. They just, they see you in the shower, and they just go scraping the water. I'm gonna show that motherfucker, really, now!  Well, he must not know what I'm gonna do. That man walked with a strong white man. We got this one.  They heard about him, but he ain't no real man. He ain't real.  Look, I need you to move. Look, bro, you're going to have to go and get on up, man. We got the new nigga on the guy. Hey, that nigga was going in the overtime. That's why he had to get up.     How you feel? What's your name, big dog? Huh? Craig. Craig. He don't sound like he look. I'm like, what's your name? Craig.  He's sitting on there. How long you been doing that?  I got a ship at Waffle House after this. How long you been doing security, Craig? How long you heard me? 10 years? 10 years.   He only got to be it. That's the nigga that's going to do you bad.   That nigga must have been going in the nose that she itch on him. I know that. Craig, that's not the nigga before the auntie. She just bring him to the holiday. I want you out of me, Craig. How you doing, little man? Nice to meet you, baby. That nigga be in there, you got there, liver on set, like that color. This is nephew you been talking about right here. This is nephew. What's up, nephew? Boy, you looking good, boy. You play football, boy.   I can do this when I get home. Shout out to all the fellas out here that who football fans, bro.    We ought to jump that whole way and nigga. Time to nigga don't like football. Police in here, nigga. I fought with football. I fought with football.  And I ain't really got no private thing in here.  I don't like that I don't know breaking that game, nigga. Scold to sit down and he can walk back to the guy that is on it.  Do a damn, do some. Put kick a nigga, do some. Yeah. What'd you say? Noodle-land. Noodle-land. Who said that? Boy, you got on a Kobe Bryant throw. Hey, Glam, boy, I fought wrong with you. Baby throw having that. You bout to get braids, ain't you? Hey, Glam, nigga. What'd you say? You a barber? Be like y'all, huh? What's your name, yo, OG? JJ. No, it ain't. Yeah, it is. Do make permanence in your mouth and pull out. And nigga, hold the head with pull-outs. 42 with pull-outs. Bad teeth, man, then you fought wrong with just that. That nigga didn't put a grill on the insurance. This is crazy. I tell you what, nigga.  Girl, give me that.  And they got this webbit. They're more for a perfect, too, OG. That's the webbit. You got to pay it the same way. I knew it in the mirror like, whoa, what did he do all the time?  Screaming my name out with that horse head voice, Carlo. That was one of them ghosts. She was a skinny one. She was a skinny one. I know it. Them skinny ones be deep. Uh-uh, it's the big girl in the back. Look at that soft arm. You see how it's wiggling? Yeah. She make some flip macaroni and cheese with that arm. Y'all ladies, y'all. JJ, come here. Look, he like that.  She's like, you guys are making a mess tonight. I love you, too. I think. I don't know. What she is? I love you. I just love you for loving me. Love all y'all, ladies. They're screaming our name.  You're going to go straight home to another nigga. Go straight home to another nigga. Go straight home to another nigga. Or come to the room and want to talk. So when did you get into comedy? Bitch, it ain't no more comedy tonight. Hee-hee-ha-ha them droves. Let's do it. Bitch, want a joke? Knock, knock. Who's there?  Let's do it. Let's do it. Let's go.  Wife and chicken crossed the road. Because he wanted some pussy, ma'am. I am sleeping. Let me come and sit on the edge of the bed.  I can't believe I'm really here with you. Oh my god. My friends watch you. Oh, who's y'all?  Y'all so funny. The big girl already know what's up. She be with it. So what's up? Like, you want me to leave or you want her to leave? I'm just saying.  I might think I want her to leave. I know, right? Because I'm just saying.  I ain't trying to be in the way.  Not with that voice. Ladies, let me ask y'all a question.  It's not. Especially when it's my turn.   None of them other times you was giving somebody else some pussy. Trying to change it back.  So do.  I got a back seat too. Big one. That's the thing, ladies. They don't make you a hoe, ladies. They don't make you a hoe.   Right.  That's why niggas is being on their best behavior. Whatever you need, baby, you need a ride. I'll give you a ride. Oh my gosh, you look so lovely today. Look at those shoes. Those are so beautiful. Niggas texting you. Good morning, beautiful. Oh, good morning, beautiful. I hope you have a wonderful day. I hope you have a day as bright and as lovely as your smile. Chico, you forgot one? What? Playing with the kids. What's up, little guy? What's up? What's up? What's up, little man? Hey, hey, boy.   Hey, boy, hey, boy, hey, hey, boy. Little man strong already.  As soon as you give him some pussy, then you find out who that nigga really is. Wait, what's up, bitch? What's going on with you? Like, what? What are you talking to? Oh, my bad. I thought this was somebody else. What you need? So I'm telling you, and that's the ladies, y'all. He got your mama saying, no more.  Now you're talking about the nigga all on Facebook statuses. I don't understand why niggas don't appreciate my time the way I do.  She going to be them, too. Oh, yeah.  Shit, it might be you.     That's why I was just saying, in my life, well, I'm excited to find out she used to be a hoe. They feel like a comrade from me.   Look at the niggas in the crowd like, yes, we love it. Hoes are amazing. We don't listen to all those hoes. Hoes are amazing.  We got to say classy hoes.  You are the chill. No, that ain't it.  You swallow children.  That's why you're winning. It's a torture making. OK.  No, Stevie Wonder. It's true, you make a brighter day for me and me. That's the song right there.  You feel like he always saying, huh, what you saying? That's great that Stevie Wonder can't see, but he always moving like somebody see him. Like, hey, wait a minute, nigga, wait a minute. You heard what Shaka Khan said. What he said? She said that nigga can see. If you don't believe Stevie Wonder can see, it's a video on YouTube of a microphone stand falling down behind him.   I think Stevie can see, too. There's a ribbon in the sky. I seen it. I seen it. There's a ribbon in the sky.   He described it, too. For so long. What he say? In the night I prayed, and so I... I'm so proud of nigga, he never fell out his seat. ...in the sky for a while. Then that nigga break it down, that nigga say. But you know this song. They can see. You don't remember the boy when they came in and said, I see us in the park.  That's a different song. Stevie, you can't see. That's right, we just, we in the park. That's a, that's a...  You gotta be a rep, man.   Man, it goes definitely gonna know you was in the building.  He got remnants of dust on his pants.  We are adults.  Whatever happens, happens.   Bitch, I don't know. What grade are you in, man? I have no idea when I'm about to come. My right-ass cheek just locked up in the shit, just happens. I don't know. It might be today, tomorrow, Thursday, second. I don't know. Fuck, I'm supposed to know. And you supposed to know, ladies. That's the thing. You supposed to know how to make a body react when you about to let that motherfucker go.     That's the male moan.    About to come there. Scarab nigga, don't give me the moan. Shoot, here, here. I don't want to do it. Nigga thought of mo- That's the thing, ladies. I got so much power over.  You ever make it to the ladies? How many y'all have made it? They can come and it made them sound like something's wrong with them.  Nigga sound like he turned into a monster. Ugh, ugh, ugh, ugh. I love it.  I'm just, I'm sorry. I like to make love. I wanna feel that pussy. You did what I'm saying.  But now, see, I like me. I get a head, but all I wanna, I can't do it because I come quick.   Your face, that's what happened.  All 30 Nana, y'all. I see you, look at the white ladies trying to. Oh, the white ladies, we don't need me to talk about y'all.  Let me see a cock. Come here. Let me see a cock. Oh, what, what did that know?  Come here. Oh.    Wait a minute. I'm not finished.  He closed like this in three months.  That's the last one. I'm tricky, I have an app. Shit, oh. Yup. That's how you know your man about the night, ladies.    Give me a kiss. Give me a kiss. Oh, I love you. I love you. I love you. You love me. Say you love me. Say you love me. Say you love me. No, no, no. Look at me in my eyes. Say you love me.  Say you love me. Go away. You got it. See, y'all got too much pride.  Hold on. Let me just stop you.   I just blew in from Shreve Point. Uh-oh.   They don't let you be in control. Uh-oh, I got it, I got it.    Yeah, that's why you got to.  They got too much energy.  We haven't even ate yet.  I'm hitting it from the back. Oh, my stomach hurts. No, bitch, lay down. Let's go get, put your clothes back on. Let's go out and get some.  It would sound like you're stomach hungry for this pussy. You're like, man, no.   What is wrong with you? It's a hydrated.  Drink some water.    You got to go another round. Bitch, another round.   I am done.  I just got to lay down and recuperate.   And you be like, I wonder if she knows. If she knows that this is not all me. And nobody, you ain't, and you ain't acknowledged it. She ain't acknowledged it.  She ain't pushing that moment out. You see that? She said that.  She just liked that dick, too.  Squeeze it at the bottom. Hey, look, if you don't squeeze it at the bottom, you ever have a reach back and squeeze it for you? Hold on, boo, hold on. Put your hand on it. Hold it, hold it. Put it in there.  Y'all.  You a freak. Yeah, you got to. I never thought you with that little headband would be squeezed in mediums.  If you ever did it, you ever did it, tell us what it was you? That should be hard.  That's it, right there.  You just, uh. I can't do it. Chico, you putting it in there like, that's enough. That's enough. Anything more than that, a killer.  That's why you find out who you really are.  I know who I am.  Shit. Shit.   He like, wait a minute.    It's a mine thing. Let me tell you something.  Ladies, that's it. You can't say anything. What you going to tell her? What you gonna tell your friends?  Ladies got all the control over that nut, too.      Okay? You trying to hold the nut like you don't get to bust a nut when we're right after that. Y'all motherfuckers, come four, five times in one sitting. You taking? I'm bustin' my nut. After the second nut, fellas, you ever tried to bust that third nut?   Okay. That's all I got. That's what you learn about your whole body, nigga.  Don't it, fellas? Feel like a charlotte.  I can't hear on this side.  And you only get like five, 10 of my lifetime, nigga.  I tell you, God, damn.   This is a different type of unit we got to work with, all right? And they just, they sensitive, too.   I'll answer my hand.      What you think dicks are made out of? Shit tender.  Like, bitch, are you trying to start a line more? Let her do it two times in a row.   Say what? She said you can't.   Hold on, bruh. If she got soft hands, I'll get her a better seat. Say what?   You cock-blocking. Ain't nobody cock-blocking. You can't hear that.  Hey, y'all, y'all, y'all calm down, man.   Let me hear you. Nah, she quiet, come back. Ma'am, just come on, walk down.  What shit? You look like a...   She just hop over the rail. What she in? She right there. She gonna... She right there. She trying to figure out how to get out.  No, up top, right there in the second row. She don't even know how to get there.  Oh, yeah. There she go. She got a lot of braids. Hold on, let me see. She gonna have one gold tuxedo. That ain't her. That's her coming down right there. She like, can I go down these steps, man? For real? My ticket in the back. Oh, love, she coming up here for me. Let me fix my hair. Look up on. I can tell she a good woman. Look at her forehead. Yep, she got them braids like Korean girl from on Friday. Now tell me who she is. I'm gonna get out the way. But they been trying to quit smoking or what, but you need me.  Give me this microphone.  Yeah, I need to get back down. Yes. Out of all these women in here, y'all give me the one with the nicotine package. Hey, hey, that's what you get?  She can't even quit. Cigarette.  Callo, callo what you get? Callos, bruh. Hold up, hold up, hold up, hold up.  Calm down, callos. You know it. No, no, calm down. You can't hook me up when nobody smokes cigarettes.  I tried to be her friend. There it is, motherfucker.  I tried. I tried. Yeah, I'm about to. Hold for them niggas trippin'.  She got on team George, nigga. You know it.  Look at the motherfucker.   Look at her. I just broke up with her. She already twerking on my home.  Hey, baby, baby, time out, time out. Baby, your niggas ain't back to trippin'. See, that's why I'm broke with her. She can't even smoke in them cigarettes.  I tried to be her friend, bruh. You know how I'ma get back. I'ma crush that bitch's cigarettes. I tried to be her friend. Hey, these motherfuckers all get like they been fuckin'.  That's what you mean.  She gon' be on that commercial like I been smokin' since last year. On that commercial like I been smokin' since last year. Make sure when you take a shower to cover your hole that's in your throat. Make sure when you take a shower to cover that hole that's in your throat. I tried to warn you. He tried to tell you. He tried to tell you.  I'm sittin' over here playin' with a bank titty right now. She got titties on her back right now. I love you. Hey, nigga, baby, I love you. It's so fucked. It's fern, too. I don't even know what to tell you, baby.  You see? Hey, what y'all don't know is that ain't a ticket to you, man. That's birth control. She just is live. She got that birth control on her arm. Excuse me. Cigarette. Cigarette. Cigarette. Cigarette.    She got her hands smoking in me. Yeah, she own Newport, Marlboro, Kool. Whoa, uh, Newport, Marlboro, Kool. Yeah, Newport, Marlboro, Kool. Whoa, Newport, Marlboro, Kool. That's my baby's smoke figurines. Yeah, she do. She like a old lady because she smoke them two by two. She a chain smoker, and she own the patch.    Where is it? Right there. Newport. Where is it? Newport. Cigarette. Newport. Cigarette. Cigarette. This is what it sounds like when you smoke cigarettes. Slow, whoa. Talking about the stuff that I've opened my throat. I've been smoking cigarettes since I was five years old.  You don't sound like me. I put it where I could go back in time. I didn't wish I was just smokin' weed. This came from heroin. I was on that shit, man. I was on OxyCotton real bad. But every time I pop the pill, I smoke the cigarette and I just want to tell y'all, please. Please, let me be an example. Do not. Excuse me. Do not. Excuse me. Bring me my machine. Bring me. Bring me my machine. Let me be your example. I have to do this every day. Every time I go to McDonald's, they be like, I can't hear you. I'm like, bitch, I am talkin'. Just let me be your example. My kids don't know if it's their daddy calling them like that. This is your mother, boy.  Cigarette. Cigarette. Cigarette. Cigarette. Cool. Stop. Yeah. Cigarette. Hey, ladies. For real, for real, this is what y'all sound like when y'all wake up in the morning. Hello? Oh, I just woke up. I'm so sorry. Hold up real quick. Oh, my God. What time is it? Damn. Oh, my God. Hello?  You didn't call me early. Oh. I'm so sorry I sound like this, but I would sleep so good before you call. Oh, my God. Cigarette. Oh, my God. What time is it? Ladies, y'all be having as the day y'all sleep is snoring like niggas.   Oh, my God. He ain't recorded. Shout out to my boo on some cigarettes. We love you, baby. You real quick. She's trying, bro. I was hoping I did that. Bro, leave my leg. She's going to patch. Leave her alone. She's trying. Yeah. She was twerking on you, bro. As soon as I left, she was on you, bro. I was right there. Like, I had to show the lean on. You feel anyone do it like that. I can't expect her to be faithful to me and trust me, bro. She's trying to kill herself.  She doesn't look at me and was like. So, you just going to let him do me like that. Cigarette. Cigarette. Cigarette. Cigarette. Cigarette. Cigarette. Cigarette. Cigarette. Cigarette. Cigarette. Cigarette. What did you say? You don't smoke, though? Look at that, man.  I know you don't smoke. I bet you make cornbread, though, don't you? Good piece of carbon. She ain't trusting me.   What? It could be like a big girl laying down with both legs cocked up. Because you know my name is Carlothen, the most of morn. I showed up to her house.   She like less on her pizza. I'm about to cook some.  She said, how you think I got big like this? Hey, it ain't how we look. I said, bro, I'm going to the kitchen. Then we got a butt in here. She started making freeze pops.  I said, the big girl really freaky.  I said, the big girl really freaky.   You're not gon' play. She make cookies every day. I said, yeah, she got mac and cheese in the oven right now. And she cooked those things. When you walk in her house, she be like, God damn, baby, what you in here, making some greens? Hey, Chico, can I say something real quick?  Stop, wait, that's enough.   No, he's not. Oh my God. Shout out to all the ladies in here who got the babysitter for the whole night. Chico, that's who fuckin' in here. Shout out to all the ladies that left their kid at home with their oldest kid. Appreciate y'all. 20 years old, 90's him. 20 or 20 or be older, they're watchin' the six-year-old, the nine-year-old, and the three-year-old.  Where would you let your brother in the goddamn oven? I just went out. I heard you done this for yelling all day. That's you with that blonde. Well, thank you, there. You little girl, I see what you did when you did it. That's how you gon' do. Right. No, no, no, no. Oh, they'll beck them in this motherfucker. That's what it is. Touchdown. It is pretty. On the football field. Y'all niggas is crazy. Y'all got any safe strip clubs this report? Thank you, my nigga. Thank you. My nigga said, nope. Don't go. Do they get naked in strip clubs? Shit. They get naked. Shit, it's the women in here that are gettin' naked for the right amount of money. Soon as you said strip clubs, I saw one over there was like, I'll get that little money, I'll give it. I'll take that little 40, I'll take that little 40, I'll give it. My nigga. He said he got $40, he said I'll take that little 40, I'll give it. $40, bitch, I'll give him $40, I'll give it.  Two-twentieth. It's life. I'ma start with some life insurance for a $40. You don't have life insurance, but it's still fine. That's how you gotta do the conversion. Like, I was strutting it, but then I said, $40, life insurance, get my life approved, dressed with you. I used to smoke cigarettes, but I don't know more. See this patch, shh, don't need it. $40, life insurance, get you some. Look at me, someone had bought a lot of life insurance. Oh, thank you. He called $40 to sign up. You know, that microphone sound like the nigga that Scarface was talkin' to on Seen a Man Cry. Remember on Seen a Man Cry when the devil came, nigga? That's how they think I was talkin' on that motherfucker. Too much work with God, but I love Scarface's style. Scarface's style is one of the best styles in hip-hop ever. I seen the niggas the other day. I seen them walkin' down the street then. I seen them and he walked away. You know I'm not playin' no game. And as a human, he walked away. That was your favorite rap. I got the pistol and you know I'ma. Yo. Shout out to nigga in the front row.   Y'all are terrible human beings face.   Put some fabulous oil in it and then take it out and re-wash it. And add to it. No, don't add to it, don't add to it.  I still ain't really recovered.  We got all these people in here and y'all really found me a girl with a nigga taking pictures. She didn't shoot out. That's a real nigga, man.  I'm like, bro, I can smell something. I couldn't hear it. You can smell the nicotine. I smelled it, it's just somewhat the right. What kind of cigarette she smoke, bro? Ball ball.  Look, ma'am, I understand that you love me but I just broke up with somebody, okay? My heart's scattered all over the floor like somebody knocked over the ashtray. What'd you say?  That mean you need to work harder, baby.   That mean you might not have no mattress evil, ma'am. That what I was just about to say. She ain't got no dresser. She need me way more than I need her.  She ain't got no underclothes. What's your name, sweetheart? Lisa. Nisha.  Nisha, no drawers and Nisha. Yeah, that's what you gotta say. You and Nisha get some drawers in the bra, that Nisha. You got a whole house with no furniture?   Yeah, yeah, it's cool.  This is a nice museum. What are your underclothes, sweetheart? This is got a house full of pictures. Oh, is it real? Okay. All right. This is real.   What'd you say, partner? No, that's a girl. Like your shoulder, small shoulder, man, man.  And they couldn't even say that. They ain't got dyslexia with a gas station, white teeth.  Go ahead, nigga. Can't even put your arms in your pocket. Egg, lab, boy. What'd you say? He say he about to go to the dentist. You about to go to the dentist. Niggas, sit down. You got a yeast infection. I learned that word today. It's plentiful. That nigga got a yeast infection. Sit down. Well, he having the time, he like, ah. He only acting like that because there's women security guards in his section.    You see how the show was going good until we was about to get some pussy, and he fell left down.    He wants some of them cigarettes. Hey, bruh.  It's niggas like you that we can really live without.  You should have been aborted.  That nigga got rhinestones on his pocket. I'm not about to argue. I'm not about to argue with no nigga with no apple bottom chains on.  So they had them apple bottom jeans with the boots with the red. And the whole night we looking at her.  Wacky. Wacky. Wacky.  Wacky. Wacky. Wacky.  Stop messing up.  Damn.     I said stop. Wait a minute. Are we talking this shit? Yeah.   He got a yeast infection. Yeah. That's what I'm gonna say, but I'm rapping too fast. Yeah. That nigga need to take some money.  These at this show was wack. Yeah. He ain't just based on nigga. Got a white tee. He bought out the gas station. Nigga.  Kiko. We ain't tripping.  Cause it's transmission slipping. Listen. This car got 300,000 miles.  Look it. Kick it. Kick it. Kick it. The motor dropped. Right now, that nigga's probably waiting outside. Like I told him, nigga. Yeah. But he ain't got no rhyme. I shoulda sold him, nigga.     Let me see you twerk. Twerk. Let me see how good that booty work. When you wearing all shirts. Yeah. You know what it is. When it's going on. Yeah. Lisa in the back. Sitting down with no bra or panties on. I said, where that girl with them cigarettes. She can twerk till she get fired. She can't twerk like the girl in the back. Cause she'll get tired.  And she ain't got no draws. I wonder what it smell like. I'll be right back y'all. Go see. Go see.  Go see. Go see.  Go see. Go see.  Go see. Go see.   She can't. What it smell like? He told her to go back. He told her to go back.  Uh-uh.     She gotta hold them till it like newborn babies. Hip apartment's walking. Spent this a horse.  That's okay. That's alright. That's okay.  And lay her down. And don't turn the lights all the way off. Just turn the bitches down. You know I'm Carlos. Just gonna pull it to the side.  Hey, Carlos. I'm down for your cause.  We ain't your drawers. Hold up. Carlos. This might sound out. But I think that puts the smell like the Waffa house. Hey DC and Chico. After me and that girl have sex. I'm gonna go outside. And smoke two cigarettes. With that other lady. Who smoked them squares. And with that other one leave.  Yeah. That's enough. That is enough. Shake it. Shake it. Shake it. Go Niggatink. Go Niggatink. Go Niggatink. Go Niggatink. Hey, hey, hey. Hey, hey. Look at the ladies in the front of her.  In front of my... She gonna be coughing when she get through. I can get you cigarettes for way cheaper than you're paying for them now.  What?   I like everything.  What's up man? We got Mr. Kane in the building. What's up Mr. Kane? What's good with you? Niggatink. What's going on? My five mister. Yeah. What's good with you? Niggatink. Y'all make some noise for Mr. Kane and this motherfucker man. You got some music. Man y'all that ratchet city.  Y'all gotta make some bars man. Y'all gotta let them know about that ratchet city. You got a sound nigga? Niggatink. Do you see this? There's somebody. You know that's what we do. Niggatink. Niggatink. Do you see this? There's somebody. You know that's what we do. Niggatink.  Niggatink. Niggatink. What y'all know? What y'all want here?  And one of your little bitches.  Give me some. Give me some. You know they ain't got your music right there. So what y'all want to do? Acropello? Yeah. Yeah. Acropello. Acropello. What y'all want here man? Y'all got a tip for you. Never been crazy. I used to bust down rolling on my wrist. Got a rap nigga.   Because niggas be counterfeit. They might have read the option, but they couldn't stop the bitch.    Trying to make a tin flip. Ain't no looking back on it.  Other made back. I'm driving this. Sometimes I'm passing this. Sometimes I'm out of this. However you feel nigga.  Make a motor kill. Going nose. I've been working on my social skills.  Being your lady with the waffle house.  Man that girl was smoking cigarettes.   They dug in on that cornish. I know you can see. What's that nigga I got? They dug around the corner. They busted around the corner. These motherfuckers why? I said we dug around the corner.  You want to stay? OG.   We got to move on.  I don't know where we going. But they going. Look at that. Thank y'all Louisiana. This is the 85 South Shore on Carlos Miller. Make it back to your country. Freaking it.   Watch that motherfucker.  Please. Cigarette in the building. Yeah. Three tickets come down to the first few rows. Three port. We love y'all. Thank y'all for representing with the 85 South Shore. Make sure you get home safe. Tell somebody what you're seeing here tonight. You are all 85 incentives now. Chico B. J-O-N. Cut to. This is the 85 South Shore. Make sure y'all go on YouTube. Subscribe to the 85 South Shore. When you pass through that lobby, make sure you buy a T-shirt from the merchandise table. Three port. We love y'all. Yeah. If you have meet and greet tickets, make sure you come down to the front. I wish y'all would have just stuck to weed, but I made some bad choices. Let me be your example. Let me be your example. I'm so tired. That was a mistake. Yeah, I know. How long was that? I don't know.  I don't know. They got awesome things. Like playing poker.  We sure don't. Instagram showing them everything. No, because then they know what to come back with. Right. If they know what we got, they gonna know what to bring. Right. But we always come prepared. And we got guns on that side. Come on, man. We cover. Stay ready. You ain't got to get ready. That's how you be ready. Huh! Come on, somebody. Hey, man. Hey. Come on. Shit. You nervous? When you go to war with your brothers, you nervous? Who?  Hey, you heard what he said.  If you didn't, you need to rewind it so you make sure you're here the next time.  I'm a little weak on you, boss.  I'm scared. I got a touch before I go out. We church when they start all like that. We church when they sing. We church when they sing. We church when they sing. We church when they start all like that. We church when they sing. We church when they start all like that. I don't pause. You did one person to take off right around the home. I don't know if it was a revival or it was like a new year. I got a nigga. I forgot we had some ladies perform in our church on Sunday sermon. She got the singing. Probably us on the song over like 10 minutes for it.