From patchwork Sun Mar 19 12:31:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Talat Batheesh X-Patchwork-Id: 740935 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3vmtJB0pCzz9rxl; Mon, 20 Mar 2017 21:59:54 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="pWq20rxc"; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1cpv2Q-00087S-F8; Mon, 20 Mar 2017 10:59:46 +0000 Received: from mail-db5eur01on0067.outbound.protection.outlook.com ([104.47.2.67] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1cpa00-0003sS-SX for kernel-team@lists.canonical.com; Sun, 19 Mar 2017 12:31:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=JPrJMqUponPwrVM3mgXYPwTrrq0N0zBoTUv/QgU6A7o=; b=pWq20rxcLfjGYZu/8mPIlRli1sFTld94UTvqyPi+dt+MWyvcbU/Y5AGFka+fPbVMGiAs7x+1kr37fP/4iR7JwH1J8gO3DohPLvVb5ANYOQnmrGSMUoMr9B/ercJ8O2MI2VyxRMyDkH7ulE46JfWOk1hU3tqSGp55yHyUJYG1c5M= Authentication-Results: lists.canonical.com; dkim=none (message not signed) header.d=none; lists.canonical.com; dmarc=none action=none header.from=mellanox.com; Received: from dev-h-vrt-005.mth.labs.mlnx (193.47.165.251) by VI1PR05MB1312.eurprd05.prod.outlook.com (10.162.122.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.11; Sun, 19 Mar 2017 12:31:49 +0000 From: Talat Batheesh To: Subject: [PATCH 2/2] [Zesty] net sched actions: do not overwrite status of action creation. Date: Sun, 19 Mar 2017 14:31:28 +0200 Message-ID: <1489926688-17710-2-git-send-email-talatb@mellanox.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1489926688-17710-1-git-send-email-talatb@mellanox.com> References: <1489926688-17710-1-git-send-email-talatb@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: AM5PR0101CA0013.eurprd01.prod.exchangelabs.com (10.169.240.23) To VI1PR05MB1312.eurprd05.prod.outlook.com (10.162.122.153) X-MS-Office365-Filtering-Correlation-Id: 44cebbf7-5fb5-4094-5b80-08d46ec3ead3 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:VI1PR05MB1312; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1312; 3:SyvXvNtTq3sUPw1r3pjzZ+d9r8TxC5hl60qzQ4wQPZzXRra2qjeeULILGb8VMTGv/wFZQgJDfSbXm+XynoOcDgTJpVxOgMVVn8weKubhVWg4IsAw3CyfGzW4c53eX0KapoAhYjr1P7vptsHRZt+zQiAXqZsLnykDxhnzwcJl+qhDop3flkzRmsW9zy5Q3mhqjkzO9BJhoykQ1zL18cl9wFX84xSdkjQcjr0Th7dcAzHu96i4vIQMRNCBRVHXALFMJo/taPYdem6i1Rbg1csTVp7ZhzDVCTvSD08ul8H/XIo=; 25:FN948Yt9yc45CApK0bHuGyamBjKr5PK7rGSYHVMFZA+l5leOIP98k2G5aHylnJF8SoRjMZpQqdTARMWz9Lw/UWHak5q8HGXqCtbFAZMwSzLkvwiNxXUepbYXe7XKNOcRU5IH3QfEnmggs5DVeKMYsT6QKV8D5XJh5olBWAH8XGGUN+xkTai3mfB1WKkTyWVtBcOKyWRH8+QLm03efFKPAhO7K75Ur6UsNK+AYrP9b7kFdvyMTS+KsYppbQTHElZ41RwI6YbnxwpGxsgDsitvnNlwJ2BLSuyYlOrOP94TiVO//1tHj4BzgBN/CeBOuQhj4Qr0yG8ku+PPQc3PwBzEar+cPtRuGyq365HnBCYLulp8eMmJ4DYAMprCTmdgfoih4VgjGkJA1pbWDUjD7LMaLKRp8S3Y8HJrNK6YtdgxbWTTtjSynzQpvBZnai6BvBDRx2z68UuCdJQw5a1hbS0bYg== X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1312; 31:7wPa4EBeUOTw76ynOQ7u6JpDiEuvhX5p7YGE/l1kdQtVfceHwOM1bArJQWd8zYPYjSoJVxjyK4RoNv90R0pBODhQCxbypd4TMiC7Ut8bY86/HzrV6tbwQHLBT+8ivKI9Zg9ND/OKPC6+ItkpmK/7LWcRgPQkzFACJKLFJd8IRp4QrLaZYt461TgES01aOJ7TTq1rZCPd3CPF1ANQ8iA1DxODWkJfC5m9YJRt9i0nt326x1UVVBnAv9uHDIxnt8jt; 20:0lWqEJVdi4TziEdqILEOdhtygS0/m74z0idjFWH0hNodWpxEnUNu54VjCp2yfvpq1P3jA1yH9Oq9YxfZedhS5AI+Pck0zTfCYvLWLdkFAwH5tzKSITdB6rsKPRmFaUfMBN0QyFE/3L1BZOaeRvDolBKh4S1+WXUYUxjx2FT6bFDZ+bYTZpCXj1jGmXwWIYf7RfYeVJP20uMiw00MLYZSLD17k/jk4Jseaiw6w0S0GC6+pGlBELhJrkAA//230ufAvwfDs2nS7bYxKF4BZTSdypTIlUacuOYf5znqO+edeENzmIFDZ/rD2uOl7K1LyvomnOtZQl511LmZWaNcVAFjhKnkMVe1XSnxu22XiFiWfFsD2vVTxIDcDKBv+sigrnXtK/z+3FIp2rLiVvI7/5F5h92VA5205caHb+J1SxFbzhV1dv7qNM1x5fA4pRH4V9cAtt1jCATuHnCGT7+sLX1ecEkyL9jDIyn01TMoq589354yxOFPlJiKRZ/nYQfTjej7 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211254476889703)(24339691489775); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123562025)(20161123564025)(20161123555025)(20161123560025)(20161123558025)(6072148); SRVR:VI1PR05MB1312; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB1312; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1312; 4:zT6M0lSYAy/jYShK3Qhs/JN+7ZJVEFVIDo1L5jcrDE3gaKfMq2V7SrVIHeaN/MTcOazjWCbHlq7rOzT7zJdDCKHlcEdaKryucXWcB+PwPF2VVzYHvJOIcm+8qg/ZvtLeGrQApQtAa87FhIAj84O3BTtcsDEqV0c+cWsiWSEO68GugEL0LhDLFhJThoyFJ6CxMMLP3+kItyufNckp5voEgQdBYdNCsKw98yYonhsVjkMzx0pLPwrIrNgKU22ZXSpEDuMQ09Ifaby08Bx/WMYdVX6VxoXpiKf7nk4dKiqn6ZMgcdGs7CaFLE2e3NBUnj3YInCT1s98TRs4Gd930Gko9lPHNcGaE46AGPAubdPVSWXbZYOPsCCNSl0WZw9zvDnSbY2j6ZYyIBB8DJKYXtztPi2D/NfUF+ZGaGgZVJ2We78q+lDGzvBTuoZd55qGQTHqq27lKYVt20/orC8eHAzdFrcY8L0E9n/LVxWuv92S5frsuMWI6WhMF4XCHhMbUByL5bd6S/QSD0i5qnK//sNkJfx902qIkr8AsJH5BH0PCCSJxHP/qohfaq1ceT0rXt9JPim9LRXNA36nZWxkXlIiJF2/UT0WiDO8yB+I79GA56pjfvDwPWmaDQWIjuFD+ME0okBZaH+tc9pzkIQSmpY+5Qn0L7d+Nhn6h3JBXEYFdmYarDZgVxuet+4UtuQSb1DAWgsANmJQgyLGofrm8jDfuw== X-Forefront-PRVS: 025100C802 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39450400003)(39840400002)(39860400002)(39410400002)(39850400002)(5660300001)(66066001)(53936002)(2950100002)(2906002)(6666003)(6916009)(5003940100001)(50986999)(2351001)(8676002)(81166006)(42186005)(966004)(6116002)(3846002)(33646002)(47776003)(50226002)(305945005)(38730400002)(76176999)(110136004)(107886003)(4326008)(1720100001)(7736002)(36756003)(6506006)(50466002)(48376002)(25786008)(6512007)(6486002)(54906002)(86362001)(6306002)(575784001)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1312; H:dev-h-vrt-005.mth.labs.mlnx; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR05MB1312; 23:mf9dERmngcamCWmp6LK10apE1T1/YZ9Y5q/+9yvMt?= =?us-ascii?Q?SfKjREd4PH3FnjrOHiKN3gOjBXo/k7PKC4oh6fbRXSZ1SnidZmzQ7rpBq539?= =?us-ascii?Q?dpVJEYMwAEremauCY5dNlcWaKtgvCsOjM93w8QD0LhDtxu7F0W/BV+/khOTT?= =?us-ascii?Q?Wz+rN5XZQepKBDS+AJTqb2rCERg2E+b6PYG2028M9gwwtrI6lByp4uXTMIbu?= =?us-ascii?Q?NQXwaf9J9mySD1jcOZ8p3VO9sPIhtysDEtiT6s/aGjcB9mnnNPSnb3R5V2bJ?= =?us-ascii?Q?FI+wIdYuN//YksoGnJ2RozX4ddchwzSVzXE+iX59tkkt/xX/16TdL7N/EKHQ?= =?us-ascii?Q?TkDJTb8NMLhCf+32E+j1IL6GnQ8CseqH0EbN4Oez/nCfHeyMk67ux/Z4JGJ2?= =?us-ascii?Q?sbF+t9+tRZYSFe3UYDeKsDkeTBcRvTRIyykcVcplamhTCnlFetXvg5o9VoNu?= =?us-ascii?Q?vHowQwro1SiuI+/EXJFVBWtfKQ5dy4Ku6XaDu4R/Cm63dL+g6pubQmKugQvb?= =?us-ascii?Q?bIDCJUu1q7nKyzwje1DREjGy/a+BWXI+0Z04mrA7e9OURQu7PemmAD6ah2SY?= =?us-ascii?Q?Uia8MTheFtffJzXQnPPdnCptouYUbBvEv0EmORC2eZOoK4QOXHOAITjmLOww?= =?us-ascii?Q?v26/sI0CmRsCIgufo5plJNvvcD3UiyEoXEiix4ALW7U3BSm9QGqBXShy4px3?= =?us-ascii?Q?GXGBZ/hIKyQ73kIIIhFmn4bcBuhTqXe1inAWzRzH7PS75ltemtItc7q9aQjy?= =?us-ascii?Q?snZe9rGI5IBxP88Sdsj6XBZSboC1YGFlI5CqamDcgoqFrnSBSE6lwiITt0aY?= =?us-ascii?Q?+ZRC0xuve/CLWXa5b6aiZhtrpH4AwVc6l1pv9j8xAFUAhVd4UWvnW08Ti3fr?= =?us-ascii?Q?ZKibHJ2cdA0KlGpqDk1b3+oeTwJ0FjAFs7Jj1WzOfFf6L3UJny4xsrCt/L0Y?= =?us-ascii?Q?1eako3o0BMYHxunSJdE8WL04zFpzs9HlGzgEYEjLhZ5wjeBhHRVA73cXkkzm?= =?us-ascii?Q?laKNDmSfRitdObuPzfZtSiuHKrax13SsZcKYJBiCVC0VO0sUpCurjUHabjcM?= =?us-ascii?Q?zm+XxWMq9ymzu9tu3/r50gJ8lY4kN9G9btzs8hXlD4ISYQTy3iHn0i5V3W+L?= =?us-ascii?Q?SleUVDbFNL3lnIivcevMXL1+hMZVTxb?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1312; 6:qdPA5OcQYC7XtCg5Dd4rM/P99arMA/MtHNPvEkWts0hyX+U5FfOqn8Jn4KTEfuXxHrJH8fUr7MII537AV32Gab2dLJd/rTP4iWK0ljsETa9o2lk+RSprw24qnbSlf1gcUdEiGKAqYinAFPbVWUDSMIw1Mf3VXsRdQL+1EgyLitkSG1a6RhTxUS2+GPCEkwZQAhWJ4hygysTfiVNUP1zGTv7V1e1gC7tzeoPHqbb6JlBsirkPiElb6Nq762kvG3PdG5x2wyOSnVQB+OGxosgwU1V36Cgp/S/sG2vtKAfILVF+nFFBchLr6eUt43q0cDaH5negfsXZZsbJ6t3ks3fSjG2UtpvB9L48fCm+N/omonPcKNV8ix6dbgRVRtBIXFvMJZ5D2Oc9JQDAa9hsV3OD5iLWg/4PfjiUohoNF+KHDDA=; 5:PT2RNE9gxzl1R2Lgh0O+y+cEL1SEusV5D0SA29rcNvhSt7cMReUwvVIaWC7z8fxeyDL0KFavEqXm0JWpxtvoDcK5V5rtE9I2qR0IwV9N0TIvSMraflwva3r0kGs+uGWBrn+szTqOEBZbrd48nJvRGg==; 24:+pD4Aq7DgopAlq06auZXhPsqICak+CoQVDga2Ri8e+1OmV1vsNsEboPdOGcbdg/yGEZBvHILQYISKJxNZPkM22pre46zc7AD3NXvhSI6UXI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1312; 7:GKsbhvxFMlU4tV6dqddP/CEn3fnwI8v6G9JBFfLy7ZPaHTYhfqDgZndoqPDO3/yeAZNAoXhqjr5/PlTBypn280YAvCV/wbz08aqGlrJH4MY4XZAf7wSCnbw17ynDv9zDBl16yRJQYiuEmIp4Lx2e6IYzQTDlLGw/N+rrXLlD/RYUrB2YLA2ltvTZYA0OCLnSzBJRsFgTfwKc9v5+//w+bbk3HHcDx7h+Kynz6NgUKG4+U69Yn+fCDlLozihRNAXrfXT5io1uo2CJD8hLNLRHdmffCSkYGRjhAfba3tI8daBIseJx7CfiT7XdVZQbvI/PYl/sWCq6CgYQ9rx+wEgDbA== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2017 12:31:49.8055 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1312 X-Mailman-Approved-At: Mon, 20 Mar 2017 10:59:45 +0000 Cc: roid@mellanox.com, noas@mellanox.com, talatb@mellanox.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Roman Mashak BugLink: http://bugs.launchpad.net/bugs/1674087 nla_memdup_cookie was overwriting err value, declared at function scope and earlier initialized with result of ->init(). At success nla_memdup_cookie() returns 0, and thus module refcnt decremented, although the action was installed. $ sudo tc actions add action pass index 1 cookie 1234 $ sudo tc actions ls action gact action order 0: gact action pass random type none pass val 0 index 1 ref 1 bind 0 $ $ lsmod Module Size Used by act_gact 16384 0 ... $ $ sudo rmmod act_gact [ 52.310283] ------------[ cut here ]------------ [ 52.312551] WARNING: CPU: 1 PID: 455 at kernel/module.c:1113 module_put+0x99/0xa0 [ 52.316278] Modules linked in: act_gact(-) crct10dif_pclmul crc32_pclmul ghash_clmulni_intel psmouse pcbc evbug aesni_intel aes_x86_64 crypto_simd serio_raw glue_helper pcspkr cryptd [ 52.322285] CPU: 1 PID: 455 Comm: rmmod Not tainted 4.10.0+ #11 [ 52.324261] Call Trace: [ 52.325132] dump_stack+0x63/0x87 [ 52.326236] __warn+0xd1/0xf0 [ 52.326260] warn_slowpath_null+0x1d/0x20 [ 52.326260] module_put+0x99/0xa0 [ 52.326260] tcf_hashinfo_destroy+0x7f/0x90 [ 52.326260] gact_exit_net+0x27/0x40 [act_gact] [ 52.326260] ops_exit_list.isra.6+0x38/0x60 [ 52.326260] unregister_pernet_operations+0x90/0xe0 [ 52.326260] unregister_pernet_subsys+0x21/0x30 [ 52.326260] tcf_unregister_action+0x68/0xa0 [ 52.326260] gact_cleanup_module+0x17/0xa0f [act_gact] [ 52.326260] SyS_delete_module+0x1ba/0x220 [ 52.326260] entry_SYSCALL_64_fastpath+0x1e/0xad [ 52.326260] RIP: 0033:0x7f527ffae367 [ 52.326260] RSP: 002b:00007ffeb402a598 EFLAGS: 00000202 ORIG_RAX: 00000000000000b0 [ 52.326260] RAX: ffffffffffffffda RBX: 0000559b069912a0 RCX: 00007f527ffae367 [ 52.326260] RDX: 000000000000000a RSI: 0000000000000800 RDI: 0000559b06991308 [ 52.326260] RBP: 0000000000000003 R08: 00007f5280264420 R09: 00007ffeb4029511 [ 52.326260] R10: 000000000000087b R11: 0000000000000202 R12: 00007ffeb4029580 [ 52.326260] R13: 0000000000000000 R14: 0000000000000000 R15: 0000559b069912a0 [ 52.354856] ---[ end trace 90d89401542b0db6 ]--- $ With the fix: $ sudo modprobe act_gact $ lsmod Module Size Used by act_gact 16384 0 ... $ sudo tc actions add action pass index 1 cookie 1234 $ sudo tc actions ls action gact action order 0: gact action pass random type none pass val 0 index 1 ref 1 bind 0 $ $ lsmod Module Size Used by act_gact 16384 1 ... $ sudo rmmod act_gact rmmod: ERROR: Module act_gact is in use $ $ sudo /home/mrv/bin/tc actions del action gact index 1 $ sudo rmmod act_gact $ lsmod Module Size Used by $ Fixes: 1045ba77a ("net sched actions: Add support for user cookies") Signed-off-by: Roman Mashak Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller --- net/sched/act_api.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/sched/act_api.c b/net/sched/act_api.c index 30c0094..e579e82 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c @@ -616,8 +616,8 @@ struct tc_action *tcf_action_init_1(struct net *net, struct nlattr *nla, goto err_mod; } - err = nla_memdup_cookie(a, tb); - if (err < 0) { + if (nla_memdup_cookie(a, tb) < 0) { + err = -ENOMEM; tcf_hash_release(a, bind); goto err_mod; }