From patchwork Wed Feb 29 16:45:07 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Danilov X-Patchwork-Id: 143785 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 59D82B6EEE for ; Thu, 1 Mar 2012 03:45:37 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756220Ab2B2QpK (ORCPT ); Wed, 29 Feb 2012 11:45:10 -0500 Received: from mail-wi0-f174.google.com ([209.85.212.174]:38746 "EHLO mail-wi0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755932Ab2B2QpJ (ORCPT ); Wed, 29 Feb 2012 11:45:09 -0500 Received: by wibhm11 with SMTP id hm11so2817486wib.19 for ; Wed, 29 Feb 2012 08:45:07 -0800 (PST) Received-SPF: pass (google.com: domain of littlesmilingcloud@gmail.com designates 10.180.92.227 as permitted sender) client-ip=10.180.92.227; Authentication-Results: mr.google.com; spf=pass (google.com: domain of littlesmilingcloud@gmail.com designates 10.180.92.227 as permitted sender) smtp.mail=littlesmilingcloud@gmail.com; dkim=pass header.i=littlesmilingcloud@gmail.com Received: from mr.google.com ([10.180.92.227]) by 10.180.92.227 with SMTP id cp3mr2478371wib.13.1330533907880 (num_hops = 1); Wed, 29 Feb 2012 08:45:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=zNBYNbvR46VWFJPKKdsqwEawubnRu0XjW6YP06X1oyY=; b=acRGAM464plvdVeVffk/1MyZO/M/kSInhLTJXPk3/Z6slBaZwf2oL6ePEe08wh238h +mtclh5+H4BIOwDfIY+EJYIlIGxqpDncV5OFPauNWRjPkxgtZLqtfHdLueBOI0uR+4au UmgmVd+yJ1MMgAmGHLow4k1Bl8g7wjcBzFYpQ= MIME-Version: 1.0 Received: by 10.180.92.227 with SMTP id cp3mr1990781wib.13.1330533907725; Wed, 29 Feb 2012 08:45:07 -0800 (PST) Received: by 10.180.107.136 with HTTP; Wed, 29 Feb 2012 08:45:07 -0800 (PST) Date: Wed, 29 Feb 2012 19:45:07 +0300 Message-ID: Subject: [PATCH] tc action: pedit, fix header offset calculation From: "Anton 'EvilMan' Danilov" To: netdev@vger.kernel.org Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch fix header offset calculation in pedit action. Header offset feature can be used for calculation offset of next header, if options is presented in ipv4 header. if (offset % 4) { diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c index 10d3aed..4678a77 100644 --- a/net/sched/act_pedit.c +++ b/net/sched/act_pedit.c @@ -151,7 +151,7 @@ static int tcf_pedit(struct sk_buff *skb, const struct tc_action *a, &_d); if (!d) goto bad; - offset += (*d & tkey->offmask) >> tkey->shift; + offset += ntohl(*d & tkey->offmask) >> tkey->shift; }