From patchwork Mon Apr 6 12:27:10 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean Delvare X-Patchwork-Id: 25633 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.176.167]) by ozlabs.org (Postfix) with ESMTP id F15D1DDDF3 for ; Mon, 6 Apr 2009 22:27:31 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752639AbZDFM12 (ORCPT ); Mon, 6 Apr 2009 08:27:28 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752042AbZDFM11 (ORCPT ); Mon, 6 Apr 2009 08:27:27 -0400 Received: from zone0.gcu-squad.org ([212.85.147.21]:46383 "EHLO services.gcu-squad.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751915AbZDFM11 (ORCPT ); Mon, 6 Apr 2009 08:27:27 -0400 Received: from jdelvare.pck.nerim.net ([62.212.121.182] helo=hyperion.delvare) by services.gcu-squad.org (GCU Mailer Daemon) with esmtpsa id 1Lqozy-0001R9-ID (TLSv1:AES256-SHA:256) (envelope-from ) ; Mon, 06 Apr 2009 15:36:26 +0200 Date: Mon, 6 Apr 2009 14:27:10 +0200 From: Jean Delvare To: netdev@vger.kernel.org, Josh Boyer Cc: Jeff Garzik Subject: [PATCH] ibm_newemac: Fix dangerous struct assumption Message-ID: <20090406142710.2d091038@hyperion.delvare> X-Mailer: Claws Mail 3.5.0 (GTK+ 2.14.4; x86_64-suse-linux-gnu) Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The ibm_newemac driver includes code which assumes that the work_struct which is included in every delayed_work is the first member of that structure. This is currently the case but might change in the future, so use to_delayed_work() instead, which doesn't make such an assumption. Signed-off-by: Jean Delvare Cc: Josh Boyer --- drivers/net/ibm_newemac/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux-2.6.30-rc0.orig/drivers/net/ibm_newemac/core.c 2009-04-06 11:18:25.000000000 +0200 +++ linux-2.6.30-rc0/drivers/net/ibm_newemac/core.c 2009-04-06 13:29:29.000000000 +0200 @@ -1229,7 +1229,7 @@ static int emac_link_differs(struct emac static void emac_link_timer(struct work_struct *work) { struct emac_instance *dev = - container_of((struct delayed_work *)work, + container_of(to_delayed_work(work), struct emac_instance, link_work); int link_poll_interval;