From patchwork Mon Oct 28 12:59:39 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Neira Ayuso X-Patchwork-Id: 286511 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 303EA2C0097 for ; Mon, 28 Oct 2013 23:59:55 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756535Ab3J1M7x (ORCPT ); Mon, 28 Oct 2013 08:59:53 -0400 Received: from mail.us.es ([193.147.175.20]:49948 "EHLO mail.us.es" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756435Ab3J1M7x (ORCPT ); Mon, 28 Oct 2013 08:59:53 -0400 Received: (qmail 20779 invoked from network); 28 Oct 2013 13:59:51 +0100 Received: from unknown (HELO us.es) (192.168.2.11) by us.es with SMTP; 28 Oct 2013 13:59:51 +0100 Received: (qmail 32620 invoked by uid 507); 28 Oct 2013 12:59:51 -0000 X-Qmail-Scanner-Diagnostics: from 127.0.0.1 by antivirus1 (envelope-from , uid 501) with qmail-scanner-2.10 (clamdscan: 0.98/18026. spamassassin: 3.3.2. Clear:RC:1(127.0.0.1):SA:0(-98.0/7.5):. Processed in 1.718769 secs); 28 Oct 2013 12:59:51 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on antivirus1 X-Spam-Level: X-Spam-Status: No, score=-98.0 required=7.5 tests=BAYES_50,RCVD_IN_BRBL, RCVD_IN_BRBL_LASTEXT, RCVD_IN_PBL, RCVD_IN_SORBS_DUL, RDNS_DYNAMIC, SMTPAUTH_US, USER_IN_WHITELIST autolearn=disabled version=3.3.2 X-Spam-ASN: AS12715 95.20.0.0/16 X-Envelope-From: pablo@netfilter.org Received: from unknown (HELO antivirus1) (127.0.0.1) by us.es with SMTP; 28 Oct 2013 12:59:49 -0000 Received: from 192.168.1.13 (192.168.1.13) by antivirus1 (F-Secure/fsigk_smtp/412/antivirus1); Mon, 28 Oct 2013 13:59:49 +0100 (CET) X-Virus-Status: clean(F-Secure/fsigk_smtp/412/antivirus1) Received: (qmail 11499 invoked from network); 28 Oct 2013 13:59:50 +0100 Received: from 55.155.20.95.dynamic.jazztel.es (HELO localhost.localdomain) (pneira@us.es@95.20.155.55) by mail.us.es with SMTP; 28 Oct 2013 13:59:50 +0100 From: Pablo Neira Ayuso To: netfilter-devel@vger.kernel.org Cc: kaber@trash.net Subject: [RFC PATCH 2/2 nf_tables] netfilter: nf_tables: round to 32 bits in payload operations Date: Mon, 28 Oct 2013 13:59:39 +0100 Message-Id: <1382965180-9400-3-git-send-email-pablo@netfilter.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1382965180-9400-1-git-send-email-pablo@netfilter.org> References: <1382965180-9400-1-git-send-email-pablo@netfilter.org> Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org If you need to fetch less than 32 bits, round it up to 32 bits to make sure that it zeroes the remaining part of the register. This changes is required by concatenations. Signed-off-by: Pablo Neira Ayuso --- net/netfilter/nf_tables_core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/netfilter/nf_tables_core.c b/net/netfilter/nf_tables_core.c index b814b0c4..5feb409 100644 --- a/net/netfilter/nf_tables_core.c +++ b/net/netfilter/nf_tables_core.c @@ -54,11 +54,11 @@ static bool nft_payload_fast_eval(const struct nft_expr *expr, return false; if (priv->len == 2) - *(u16 *)dest = *(u16 *)ptr; + *dest = *(u16 *)ptr; else if (priv->len == 4) - *(u32 *)dest = *(u32 *)ptr; + *dest = *(u32 *)ptr; else - *(u8 *)dest = *(u8 *)ptr; + *dest = *(u8 *)ptr; return true; }