From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753932AbcITCrH (ORCPT ); Mon, 19 Sep 2016 22:47:07 -0400 Received: from mail-sn1nam01on0059.outbound.protection.outlook.com ([104.47.32.59]:34720 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751888AbcITCrF (ORCPT ); Mon, 19 Sep 2016 22:47:05 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH] kvm: svm: fix unsigned compare less than zero comparison To: Colin King , Joerg Roedel , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , , References: <20160919061159.6341-1-colin.king@canonical.com> CC: From: Suravee Suthikulpanit Message-ID: Date: Tue, 20 Sep 2016 09:50:45 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160919061159.6341-1-colin.king@canonical.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN1PR0701CA0010.namprd07.prod.outlook.com (10.162.96.20) To MWHPR12MB1455.namprd12.prod.outlook.com (10.172.55.136) X-MS-Office365-Filtering-Correlation-Id: 12fa466e-5b11-4d91-8bd0-08d3e10066a8 X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;2:RVwoShsJ21NP6bWn96Cru7xCDCxOyuPZP0rqLWI5eS9MXbeS3U0bd8mbSfI96qzmbhTnrt69wxcRxgwkrGxhLybuQpzTvw2F3kD3S/n4R8abfvC9EhduVwG9zAviEZvR5fP2lW2582qTl/GExpKa5XT363SQ9T38+0SjUM73iOGxp7tZ+BB29rkvQEPQDXmw;3:adlbqPrpXGNMrAA5IqFZKLNk67Od1xg+sYcym7BvVwZD2ifb0H1paL53SzXgSF/FZfCiB1SYM5wYLf0s7ZgOxf+6Z1i/G09Z1uXukKoOq7MF0MNmsy5sP38BtOxoaZKR X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:MWHPR12MB1455; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;25:rPa7ULE2NcbK7fDpbkpGhwEfwyCve24J5U0gcgHz/kodRW2CxkwboryNlipWsHoRZCceEhDUWnJGvtOzwqJJVOxPOTwEGlEIaCmBLmbjX60gY8JZBp4TKbxatatDgXo47zoi1J9Md/C6xCR7RjCghX+N1hdsaS2c6ToyP1qQT3LCjDTp7u4jcS8FNUMQiFRVEB9qOAtupNURIIdFJrCyj2gudVZ4zD+jjP3wrf4hs7ezBW4xqRj7zMBwEoB0kqVokn4n+WO52858zWjg1CiQWY0TwMtdYwPAua3F4FEkCMTLkoFTiB5nMWJprYV5f8vFHLPGZ9yvCZYqwRJxeCcQWvNZP5a2TNR1KSvELtajC34lSBHbm3D7aXpv4RUCqGAkrZhCcBuXieJG0N+gzVmpDP4GuHsD+a4b6+2TMj0s1zIWYdteJagNBPVGgNmOikdVASLtXwDp0sHlm6rw8Xsu7SqxRXGkGd3w0r9Q7OJuz12wG0CDYld4wvg99Y5N8KwUbYaYg+TiHwY7mbSsdfX/+KkFvlYvk6duq+IAq6DQJOi8M7uEbt4W5We+k++yerCCNMpKSxy3eUbIRh9MACcxioWGbwK0iJCiUi7zbyws3xkCA4zBdcCf5+0zZ0QMbPupNzyB5epayA9BFrokKfHUMkRksOru+xBiA7nt4ai2O4gQVVCWVNwp0TuDgX4gYqisrrk2BJW+RbbN0XQmE7fyMr1Yp+FWQ6gPr3ag1QwSTQM= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;31:iEqmV5RUgLIya7SmEOYBEM8SV/Xf2jKkqpR4y2FjE2rBcl07qc8eG9sFd9tw/KFtvV9TebgBSrBlajCpiyONgCCE+yF82glQnHXqUOU0SVJNa/dnYYRIPZSVgK4iQkEnTDynZ1QbUIW32DKR2mk3Bbch/ACUutGwBnvU81HtpsiQaHCVZpY1Gg7v3hs/V9Ur/HPMkZoNZ9xzdU81Vj1kpuYJKRMdie3wQ7aN68+g8X0=;20:CPFUutuxlde5KlVj3VmNhFkbOCQWYDU6wnRth0F9rI/GozkB4IJlUVJzK5cl01BxOM448Z9xD3kQHJKRI1Fgqf6AXonFoiDv/AxRxoBFAUyVdE7trLScCoVkb7NgxIWmNwP4gvMSFdmsoKQwrVcfQzgRxjYlXiCsd8QZsvq0RgfBo5o86s9PXhPQghHqlKJZRXtJB3ya6IjvABaGpwZuWoZwXl2sXTdesl+odXJDvAFjp2Fn3P9z8lNjf0gcPPT6TNQnnMjGStArE6LmkGg/AmGH9KOgjHu24olzUysN7MB02gaYChNNgEsYHDR+J9t3kLdgwhR8Erqfz+MaQEEfgAapyMAsecTQbq0Cz+xeFdY7KCl4QYGU0VQecB66d71n+bUXu5Aud0+je00AwdNuk4oJuLTg5kN1IQiulHB0EVQuzaL41YoimXSKtUn3H58ppfvB+hv02ka84uINQQBz8ZE2P6eOJmTssgqeaQSqhoNfcfIwS6SrIG0oshIsWJSP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(198206253151910); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:MWHPR12MB1455;BCL:0;PCL:0;RULEID:;SRVR:MWHPR12MB1455; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;4:WicC4/k5RKKjGGLROpBSZlMoL++n/5HuTlcpGJ4jBNS6S1flS7ZE0wz4Y9tAPol7+uL+Lf2qZnS4prJAML5ylamu+3r15qfn2lzCAH7TNG78f9KSIvAmbT0umrPcUpKt/cWKWcQpPN5JSlXvqOK02s7BjKPEDBsQyd1xw+lWik9AHGvKPQvjAs9ZB0Mo01aK4MMOp0u8YwaoGUkwl2Dj5qnySs6ekS5zcefmdmyHoV/uB+abGCFKNMk1xlQGa5jxWVGBOuib6j1ByAF5OiIXIVCawxQ6HjbJQCENoVGZlaxlq3PnnGclJcPsxze4yhfih/QTck1coruqC361OJ3rEdTU3D6VOla2UTJGmCRHJOnffeIAFQ9vd75Pc4o4g81JvSuc6NQpN8pSFF+U2rzmT2o6hAHKPH5H9WkHe2fwOFlgqG1t/MlHdRblM0i6jYLDk6lAPkVme5bCH6h6/D3MqA== X-Forefront-PRVS: 0071BFA85B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(189002)(24454002)(36756003)(2906002)(19580405001)(101416001)(77096005)(65956001)(305945005)(2950100001)(65806001)(66066001)(7736002)(2201001)(7846002)(7416002)(86362001)(81156014)(19580395003)(31696002)(5660300001)(81166006)(8676002)(230700001)(68736007)(64126003)(5001770100001)(189998001)(65826007)(4326007)(31686004)(23676002)(54356999)(586003)(92566002)(83506001)(42186005)(33646002)(76176999)(3846002)(50466002)(4001350100001)(106356001)(50986999)(6116002)(47776003)(105586002)(97736004)(53416004);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1455;H:wsp101203wss.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxNDU1OzIzOnJlNndjL2IzbXVSNzZhWHZLVjNIS1BOUXAy?= =?utf-8?B?MEN6L2NkRnpTUkdUcUh1enBHeitVZ08wTkxtMGp1WHNlT2U0ODF5alZnalNu?= =?utf-8?B?N29oWkdmRWFBTW5xOUpzcXVjUEdFUWtOemtEeVlaSmppN2cxY3Y0WGQ1Mi82?= =?utf-8?B?SElhbG1uYk1adnBJa2xwbXVxeFJDakVmejBnbUtnR2dCVTM4dGd4clFyejNq?= =?utf-8?B?YW40c3lETm4zR0lTazlQNEdUY0FSMWdsdmg1WEtBSGFIcjVYOGx3elZQK0xn?= =?utf-8?B?ZE54UU15c3d2T0VFVU5GdzZjRXIweDg1c1hiZ3BVNC94dEJ4WTl5NVNtZEd3?= =?utf-8?B?YyswWHZPc0l5cFprYzJydmlmN0lVcU9VcXBSbjlJajVpSnhQdVYzN1pKSmhZ?= =?utf-8?B?V2F3UUhqK29Ud2FRS29hRkVibTZEN3dBT25EK1NGSkRQd2ppQzhoQ2oyL3ZL?= =?utf-8?B?VWc3UE1KUkNZUTBmN0FsOE9NNU9LMm56QjcrcDBjeHdEM0dydFRlSHM3dEhF?= =?utf-8?B?ZmNnbWRCSEdIVDBseVJDM3R5VW5haW1MZDFiNmg5QnBHZ0lPUXF0YUtUc1JM?= =?utf-8?B?amF1TjRIL1JpQjRaOGZCNW5qKzNtc3NDa2c1N2U4OUhQTVd4ZXhpR2VKZytk?= =?utf-8?B?STU1eWc0alQwcHZUaTZlaUxFTFRxNnVKaTBtN3Eyc0xENzdlU2x5ekJSMlNt?= =?utf-8?B?RXliNlBDaFp2TnduMnpNa2tUVEViV0xJU3hUbTYrMVVEL1FKVkhkSDZMTmpC?= =?utf-8?B?UHZ5Z1hybWZVWHhORjBOVDI0WDBWbDVaSmYrOE9zbTkwTThpQzVjSlREdmds?= =?utf-8?B?MkVyWnR2L3JEQjZxci9ZT2M3aFZzc0E3Q2hCMmpFZmtrMDJsMkV1b1c1VDVq?= =?utf-8?B?T1Qvd2FWbzdIVUduMUE2N0NnOWwxbGlmSW11M09hZDlDMWpXRGpnd0c0T2sr?= =?utf-8?B?Z0gvTU91V1gvQi8xWk9EeWtRa3NaQ3Z3NTNpbVkrUWhidkZXdk16L2Z3RW8z?= =?utf-8?B?RDNZb3Q0NnVqT1M5cHMvSy90S3NKbldTT241S0FuYURUc1Vnam9scGRPdHFZ?= =?utf-8?B?TWFycll1UTUyWWpncng1WjU4Tnp6dW9jWEdITHl0TFBDbGdaTHhDQnJUekxX?= =?utf-8?B?S0IzSEJWWVFXTitGa0JaUXZHQlZwY3RBZ2QxYTgreUpKc3FMN2FMMjFVWjc1?= =?utf-8?B?S2s3YWVtVXhZL1lJMmNSMjEzREVVc1dwOE44RStLaDZLeGFsdDRMZlpBZENG?= =?utf-8?B?T2hMdWxXdmNDT3ZLSm42NStHdXMwV05SSlhrelFzQXRaZGtSbGtLSWowcnpN?= =?utf-8?B?OThCaWppaDdnanM1ekh2T0xZejZ1a0RJdnpBb0J3dHVwRHhlZjFxc3hNa0Qv?= =?utf-8?B?SkI5d1RDaHEvTW1sY0RiSDNQNmx5bWgxamdBQjNhak1OeHkxeE5CZUxxQXRj?= =?utf-8?B?MnF2UzZpRzN6eVlqQnRlOFlRNm5CU0M3eEk5V1B6QnpoZG1zSnZ0ajFwbmRJ?= =?utf-8?B?STl6amRDZ2dPckM1T1lUMkNqUnFaZ3k5b3pGeHRYMjVWYjFDZHk4N3IxemJM?= =?utf-8?B?cFl5aWhpejBpZk1LSDYxM3NyZHBJTjYwelg1OVRTVTM0b2J3dTJMNWt1U29O?= =?utf-8?B?MWZGaDNwMlR2SmtadXgzaTVxOURxUEthQXBuRElrcmdFZHREZVBVMmZaQmt2?= =?utf-8?B?aFdVcG5HRE1rWERNN2JDVHhlYVJGR1g3ekdCa1YzWDltMFBvUEx0b0JqSm1W?= =?utf-8?Q?0shyvBOLaLwC9ym8Ivg2HpO7msoE0yVFWaX1M=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;6:WdMX6ZnOMDdObwSDj79KNb2snALer7TlBRtFRuhwIWVrILVod3QND3eagRKBLim5ZZEasJx0qQLFoomWgbJPYhNvzhIhlAgqfOnQ1O5MEw1RD76rVLSZw5n9/ucw1/Ri51LHxa2qu0L766wBP3IFziT9xyTOksCIRSOm8Ti7y7kQSqt4bykmGBmWpgom8NQm4OdsyLNnmeaOLc056YLcE1qcqZuVrUeJAhk3zGJrkOPuD1g8EPazVxOeTR2O3mPy5ag6LOxhG/xGhvM9fnPceRFHZKqy1AFSHiJdUgAM5XBRfXx+hQlNpmRVojDRmyC1acGQx7kMwHEkQLGetfVJ5g==;5:kkRkePW3tzitYARC2GsQ20K2FceBx57+iYlSUDhul/YsnXm+ComUWamrsoGPPOPL7i4HGvGCAFC+JPjl4urcWXCkfRBAycAbhY3h025Ge7UET7LCLMco/6zn7j05Xa/uU4nXFRFXYFK8rtuh3UoynQ==;24:45LSv9HYxLgMkSkA4rpZSvXMtRV/fCg1T6yld4da2YaALFJsBYq13pNUVFASKnrdiNkT0h5Fm9yHJAyFktigRQ/gzaWK/5PRO9VcwYE0NLY=;7:FNusOK+eIYO4TdM0VH82kUZbT3IjncgELkJV+1xUHDNlGGB1newJnovPnAXj2EFgT6/q7vxj0zEJMVzbvMCrVXblENQMUhWdje4GB2/AfLmaf2Yr15FoudnWo55YcVrSGLkS/D72QZTLpRUEQuDraMnMt4UkEQoXllaudv3XDarcl+07Mn6I1whBKS4nSi0J14YwTX5c0W1yRp4CbgARWBZxP7Sil2UXh5qQ9HtFDtT9f/0yE71nMQkDYJ8vlflEE+1bm3+fvu54Rt/w7oKTF1Acgk6qKEKpYGqzjGj82Rag7DquzDI1YpOMcpmMtDS5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;20:iyPGW9LH0CakjWIZBhJGoN7BKgaCqD8JPPu5KT31kJxxOs6jxSGz4mqj5B04B/mlrlt49yPH1++FEyje7A+AWuFGLfksQxZA8h1aHLq/uyvkUwYrTARY1Ay+aUs9mu6frZxkQCW5ZRV9V7Z44EF9r2pLu8NIk7LlOOnO9LfAgqEhzvgg4vODR7MQEssAoG0WAk7+FuosqGfSxOMyVPmrtKykSfEZllvx4XyJ3A/5aP1ysH4nRwfEVGYD7Eg/SNSy X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2016 02:46:58.7539 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1455 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 9/19/16 13:11, Colin King wrote: > From: Colin Ian King > > vm_data->avic_vm_id is a u32, so the check for a error > return (less than zero) such as -EAGAIN from > avic_get_next_vm_id currently has no effect whatsoever. > Fix this by using a temporary int for the comparison > and assign vm_data->avic_vm_id to this. I used an explicit > u32 cast in the assignment to show why vm_data->avic_vm_id > cannot be used in the assign/compare steps. > > Signed-off-by: Colin Ian King > --- > arch/x86/kvm/svm.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 1b66c5a..2ca66aa 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -1419,7 +1419,7 @@ static void avic_vm_destroy(struct kvm *kvm) > static int avic_vm_init(struct kvm *kvm) > { > unsigned long flags; > - int err = -ENOMEM; > + int vm_id, err = -ENOMEM; > struct kvm_arch *vm_data = &kvm->arch; > struct page *p_page; > struct page *l_page; > @@ -1427,9 +1427,10 @@ static int avic_vm_init(struct kvm *kvm) > if (!avic) > return 0; > > - vm_data->avic_vm_id = avic_get_next_vm_id(); > - if (vm_data->avic_vm_id < 0) > - return vm_data->avic_vm_id; > + vm_id = avic_get_next_vm_id(); > + if (vm_id < 0) > + return vm_id; > + vm_data->avic_vm_id = (u32)vm_id; > > /* Allocating physical APIC ID table (4KB) */ > p_page = alloc_page(GFP_KERNEL); > Thanks for catching this. Suravee