From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933091AbbIYTR0 (ORCPT ); Fri, 25 Sep 2015 15:17:26 -0400 Received: from mail-by2on0085.outbound.protection.outlook.com ([207.46.100.85]:35590 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932955AbbIYTRY (ORCPT ); Fri, 25 Sep 2015 15:17:24 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NV8YWS-08-9FD-02 X-M-MSG: From: Aravind Gopalakrishnan To: , , , CC: , , Aravind Gopalakrishnan Subject: [PATCH V2 1/3] RAS, mce_amd_inj: Return early on invalid input Date: Fri, 25 Sep 2015 09:20:49 -0500 Message-ID: <1443190851-2172-2-git-send-email-Aravind.Gopalakrishnan@amd.com> X-Mailer: git-send-email 2.4.0 In-Reply-To: <1443190851-2172-1-git-send-email-Aravind.Gopalakrishnan@amd.com> References: <1443190851-2172-1-git-send-email-Aravind.Gopalakrishnan@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(199003)(189002)(2201001)(92566002)(48376002)(19580405001)(36756003)(53416004)(47776003)(64706001)(19580395003)(50226001)(101416001)(50986999)(87936001)(50466002)(11100500001)(2950100001)(229853001)(105586002)(189998001)(76176999)(106466001)(5003940100001)(86362001)(46102003)(5003600100002)(5001860100001)(77156002)(68736005)(5001830100001)(97736004)(4001540100001)(77096005)(5007970100001)(5001770100001)(5001920100001)(62966003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0717;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0717;2:T9t3A2Wb6qs9BgI41TXAJTDStTTdYOyAVgxRCtMViREf4fK8DNUnO1cGteMTJvlJSWwNP1ZYIYpZ+IKTtY0M4t0X5C5kVJHR8/wzTxhnhSaDaUGXOz5WCX7nqtdEjljX8ydnFTjpiFvs9Pl1FLOqURTAXWqmsYD4pkDRVYiq7SI=;3:oKrliPX3yoCXQeKQAdusi/wAAGm6W9t8clJNG0ZSGEq1EhUca7S+azz2VxgPblIaDG+cfGg/3QJrf+9FmidVghS+ytrA7BEyiJMwy40Wdbu3a1cX35yrRakYppMZYp8XXvMRelpfn/vG3aMYtP4dFCwLXfRqVYVLu2jyR5lDh/+2B5HjUDPfXpXJ6bOO6HpgcbRI2blALOMlLPEvKMuZpJOaXTweiKAEjyPgWflasvs9ZueQDVi9uLUsLGQe9DnJ;25:hXr0LmBYFk6FYA+T5SsdckOmw5C0r3VwjAx355SHkUf+2f0K9J+WcN6frzauaH9efH3IXehBWSushu/r3GtV9FsvSQ0sFDTO8+vug3r4oRtGvc+luTaDMx+LvwueXfFQsYh1iWmFyGWNzAM33qSDqE1vGxLQR9vIQranBtcvdzw/p+JMoDPOe5HXciI4QofhXHuesvuIYmQWc8kQOazqFsKy+lIpwUPSQxrwlHj4/1C9UxxQpqigdpllnzVSWYkXvu6fnVXJMB3Q1iPiC5+bGg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0717; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0717;20:4g/GBF1Ev7mseBy74zV40CPhu9lDLHSvMh9xQQ7DdVpAUTVRnJDaH41B7UWCz/6qKNO8bGKv322fF1ditfQigOuAl/WHUu6gSAOS9yfk/z/5lR9XxD4i/BoWTCuQb92UHKoAWG9PVSupjv+JuEkGyLDQEjQJDVYrSdHSlf+Bujjjcf6lN7yL9lad7HnXodByvZDIKETQDUbZIpY0Cu8g5g07yIG+6fOfTBfIRCbVJeovyS0sCQgcQFhQu/A4+V8vIlaYEfheeUFO9njgSrvdcGMIEEOXJ6Z5tB9A/j+0KxF0kUPRJZ0dbLTX+o/OKVbGHuvuqxBniP28LihCtxo1zSa4/Retf3C87a3Bxuc6Jnd+W4uKoByT1sKUXRsAFH7L7z/sFAsdkv5SGqzXe4vKV3fIRCEBY8IBVnR3J9n6CZap4ATDLdbgoyxzbuuaXlxrtfwTOXBNK2fK4R2HjbxoUWO9kRP0eluAyQY7whL7fd4Fv5b+FnQAZ3t3jDmtNn0L;4:zalyJ95ud3aID4DMoMPMNjG7ZZe5k+cmkcuKROd8lEv62aBXa4XTfUqid43Bnr7gS10gFv5M/uG+I3yT5M0pXHl+HMJZl8orAmf10M+hgnPoqoIWwiFYBY1bMv4y0/BO/cBBSRzkaedbhkdEN4s4idiZHaQ9JRAj1fZO6Swsh4DbcvMGnxZosvprd321lpWq8lU1XDw5u7sgCG2D+PlXTWYpu+Fzi2Gfz8HWyWCg4UL5+H6ys8KsZLA4tp1T5oo7GXA1g0WpjDSX3S799fzaRmW2zIPxwAWmj4LS74Q79dt/8B/N5sr2xkWHIahvIjAMY7HdVjSdUIBLB1QQYy4dCHtg0qtVt2oAnsfgxVEbmhY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001);SRVR:SN1PR12MB0717;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0717; X-Forefront-PRVS: 07106EF9B9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR12MB0717;23:/JptO1Y6v7urXmH323/RRO1CqMf8dJ5WoqWnm/2QY?= =?us-ascii?Q?cuzAVQVVK27nJudqiFDtHd/er9wKu0fEmp6d7i/Z36r5w0kZKafUpWfnwM+9?= =?us-ascii?Q?fb3cdAA6I+NwL6Uk117dcZUeiT+Hc8NKLsWMgYVWe49OjyLTDM/M7BbQNbLz?= =?us-ascii?Q?Atn8cxDKqyZKLFZEEaH39hPby89aqwpF1OoYivGzgPSxPZOmmxJQWs9BRuNo?= =?us-ascii?Q?GEIMVJOuqn+iebXfIg0mbGUEWKEVq/xHw7Z6ZFMHn8cuI0BZuX1oxwdj+/ql?= =?us-ascii?Q?P2t4OYxMHhMyx2vtRhZ60MbxF8lHfcZqUGF8fsS4GF4OyTdm5E5SHhJJN9eE?= =?us-ascii?Q?2B2aaomtny9JzXuQsiVaZL+BZZD8Txh0mR3n7Nbfz9KdO+/bSBKSXA/jp0Op?= =?us-ascii?Q?sjsXCN01M9+8dgpKuGHn5xeJH4e/odre2u4TPuvc/qG05Pf07c8FpRrn2cUJ?= =?us-ascii?Q?/+UAMxXoKS3vLCwV0+g1dBMLnbb96LpENzrXrR91lZ0oi4RXeDiarclBcEbc?= =?us-ascii?Q?BIYH8UebcHElA/HQUvcXPdYcBy8WUJmY6H94v6weMcaq6x0kgwkBCPioaYcw?= =?us-ascii?Q?oYf1kPCaLLrQFxgA8h9vyziJcwwYXkuOd7HgBnlwBzKlciVsEZSg+cLUJRXw?= =?us-ascii?Q?JGoKWywGdfNxaQoy/PpyDmMv1RP0Iycm2w9/SQS5YgVSomPr/UhT6KIgFGPg?= =?us-ascii?Q?cWcZBVEo8glmdEmrhu4fmgQ2APJKfSYwUpWab0qIrcrmXyzHKmPkwvyh6xdq?= =?us-ascii?Q?Me2CfG86ZpEnVgepzsi+7UiS5TCb5yjPBRyH9OJlYKLaq3M39RpYuRkyT6St?= =?us-ascii?Q?ICNcrNNTCi6UtCacxpKHKxlhJzlzX6TykTU7WrpebbMMIiksm5ffI515f2ey?= =?us-ascii?Q?Tfp/AP4dK2Fa4s/kQ93Rr+twRplrp8nhVXHhZmcgYsVo1/W8/fyOIckCK0pi?= =?us-ascii?Q?fNY2SCFNsi9hRJ0rOFJLDKQp0/IkbOHfvKOCp7Z0rBwv9rgnBN8PJxtYAHth?= =?us-ascii?Q?RzH7k071d38/okmUCP/j6ZhqL3aVBCXAsf3TAYDyyJWbRqtV65AtYOeF96Hr?= =?us-ascii?Q?TX0Yg1G4NoiVL4+HUO8lfazjUHQ2Ge8eXSxVsXwy5UlqyJyFc3dTwUyujInk?= =?us-ascii?Q?vN5ob0vqAHjWM1Nycq1GXfgx28JiXK2?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0717;5:kkZ5A1O1SNzDPhl1mwFFXV79DStEhcELrNJWclxZJjDkEzHwF9ND1mbfnIQbSHjLZN2t/xid7rVjV2E+JIsIQXIvwup+tzWXXzgWc49mWWh5CbM0VDSzlO8N+k5/UWo7d8G96/NtYmFAtmdl+B+0aw==;24:uC+zXmn2rz4GdKPTSE5vL7JJuiLWvk2I9DhLRyD2SfrpQ5DcPO8DV8m2kM/+wBPaEK97ReDVQiv1vgOco4/aL1rklHZ3fsR7T5oCH+HI77E=;20:nqfOzJGp2Rssc2ofwiIrx6JgGJN9LZcr5zcnHIpV0EdI2bZ/AIXOM33cxkfDjMEVT40cfvFADmgCnS+5Fxn0FQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2015 19:17:21.4476 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0717 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Invalid input such as these are currently reported on dmesg- $> echo sweet > flags [ 122.079139] flags_write: Invalid flags value: et Even if the 'flags' attribute has been updated correctly- $> cat flags sw But the input as a whole is wrong and we should not be writing anything to the file. Therefore, modifying the behavior in this patch to return EINVAL on bad input strings Signed-off-by: Aravind Gopalakrishnan --- arch/x86/ras/mce_amd_inj.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/x86/ras/mce_amd_inj.c b/arch/x86/ras/mce_amd_inj.c index 17e35b5..4fd8bb9 100644 --- a/arch/x86/ras/mce_amd_inj.c +++ b/arch/x86/ras/mce_amd_inj.c @@ -129,12 +129,9 @@ static ssize_t flags_write(struct file *filp, const char __user *ubuf, { char buf[MAX_FLAG_OPT_SIZE], *__buf; int err; - size_t ret; if (cnt > MAX_FLAG_OPT_SIZE) - cnt = MAX_FLAG_OPT_SIZE; - - ret = cnt; + return -EINVAL; if (copy_from_user(&buf, ubuf, cnt)) return -EFAULT; @@ -150,9 +147,9 @@ static ssize_t flags_write(struct file *filp, const char __user *ubuf, return err; } - *ppos += ret; + *ppos += cnt; - return ret; + return cnt; } static const struct file_operations flags_fops = { -- 2.4.0