On Mon, Dec 07, 2009 at 09:47:36AM -0500, Neil Horman wrote: > Update e1000 driver to not allow dma beyond the end of the allocated skb > > Signed-off-by: Neil Horman <[email protected]> > > > e1000_main.c | 34 +++++++++++++++++++++++++++++++++- > 1 file changed, 33 insertions(+), 1 deletion(-) > > > diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c > index 7e855f9..7600deb 100644 > --- a/drivers/net/e1000/e1000_main.c > +++ b/drivers/net/e1000/e1000_main.c > @@ -1667,6 +1667,19 @@ int e1000_setup_all_rx_resources(struct e1000_adapter > *adapter) > return err; > } > > +static inline u32 normalize_rx_len(u32 len) > +{ > + u32 match, last_match; > + > + > + for (match = 0x100; match <= 0x4000; match *= 2) { > + if (len <= match) > + return match; > + } > + > + return 0; > +}
thought there was an ilog2() call in the kernel to do something like this? see linux/log2.h. will also make it easier to switch on the result if you've got a value in bit-position instead of size. -- Ben ([email protected], http://www.fluff.org/) 'a smiley only costs 4 bytes' ------------------------------------------------------------------------------ Join us December 9, 2009 for the Red Hat Virtual Experience, a free event focused on virtualization and cloud computing. Attend in-depth sessions from your desk. Your couch. Anywhere. http://p.sf.net/sfu/redhat-sfdev2dev _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel
