netdev
[Top] [All Lists]

Re: [PATCH] linux 2.9.10-rc1: Fix oops in unix_dgram_sendmsg when using

To: Chris Wright <chrisw@xxxxxxxx>
Subject: Re: [PATCH] linux 2.9.10-rc1: Fix oops in unix_dgram_sendmsg when using SELinux and SOCK_SEQPACKET
From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
Date: Fri, 19 Nov 2004 11:05:28 -0200
Cc: Ross Kendall Axe <ross.axe@xxxxxxxxxxxxxxxx>, James Morris <jmorris@xxxxxxxxxx>, netdev@xxxxxxxxxxx, Stephen Smalley <sds@xxxxxxxxxxxxxx>, lkml <linux-kernel@xxxxxxxxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>
In-reply-to: <20041118231943.B14339@xxxxxxxxxxxxxxxxxx>
Organization: Conectiva S.A.
References: <Xine.LNX.4.44.0411180257300.3144-100000@xxxxxxxxxxxxxxxxxxxxxxxx> <Xine.LNX.4.44.0411180305060.3192-100000@xxxxxxxxxxxxxxxxxxxxxxxx> <20041118084449.Z14339@xxxxxxxxxxxxxxxxxx> <419D6746.2020603@xxxxxxxxxxxxxxxx> <20041118231943.B14339@xxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 0.9 (X11/20041103)


Chris Wright wrote:
* Ross Kendall Axe (ross.axe@xxxxxxxxxxxxxxxx) wrote:

Taking this idea further, couldn't we split unix_dgram_sendmsg into 2 functions, do_unix_dgram_sendmsg and do_unix_connectionless_sendmsg (and similarly for unix_stream_sendmsg), then all we'd need is:

<pseudocode>
static int do_unix_dgram_sendmsg(...);
static int do_unix_stream_sendmsg(...);
static int do_unix_connectionless_sendmsg(...);
static int do_unix_connectional_sendmsg(...);


We could probably break it down to better functions and helpers, but I'm
not sure that's quite the breakdown.  That looks to me like an indirect
way to pass a flag which is already encoded in the ops and sk_type.
At anyrate, for 2.6.10 the changes should be small and obvious.
Better refactoring should be left for 2.6.11.

Hey, go ahead, do the split and please, please use sk->sk_prot, that is
the way to do the proper split and will allow us to nuke several
pointers in struct sock (sk_slab, sk_owner for now) :-)

I have a friend doing this for X.25, will submit his patches as soon
as we do some more testing and 2.6.10 is out.

- Arnaldo

<Prev in Thread] Current Thread [Next in Thread>