Hello,
in 2.6.22.6, net/sunrpc/svcsock.c
random characters are printed by svc_tcp_accept:
lockd: last TCP connect from <some random chars>
because buf is used unitialized:
printk(KERN_NOTICE
"%s: last TCP connect from %s\n",
serv->sv_name, buf);
Probably it should be
printk(KERN_NOTICE
"%s: last TCP connect from %s\n",
serv->sv_name, __svc_print_addr(sin, buf, sizeof(buf)));
=============================
--- linux-2.6.22.6/net/sunrpc/svcsock.c 2007-08-27 18:10:14.000000000 +0200
+++ linux-2.6.22.6w/net/sunrpc/svcsock.c 2007-09-03 18:27:30.000000000 +0200
@@ -1090,7 +1090,7 @@
serv->sv_name);
printk(KERN_NOTICE
"%s: last TCP connect from %s\n",
- serv->sv_name, buf);
+ serv->sv_name, __svc_print_addr(sin, buf, sizeof(buf)));
}
/*
* Always select the oldest socket. It's not fair,
===============================
Regards,
--
Wolfgang Walter
Studentenwerk M?nchen
Anstalt des ?ffentlichen Rechts
Hi Wolfgang,
On Mon, 3 Sep 2007, Wolfgang Walter wrote:
>
> in 2.6.22.6, net/sunrpc/svcsock.c
>
> random characters are printed by svc_tcp_accept:
>
> lockd: last TCP connect from <some random chars>
> [...]
>
> --- linux-2.6.22.6/net/sunrpc/svcsock.c 2007-08-27 18:10:14.000000000 +0200
> +++ linux-2.6.22.6w/net/sunrpc/svcsock.c 2007-09-03 18:27:30.000000000 +0200
> @@ -1090,7 +1090,7 @@
> serv->sv_name);
> printk(KERN_NOTICE
> "%s: last TCP connect from %s\n",
> - serv->sv_name, buf);
> + serv->sv_name, __svc_print_addr(sin, buf, sizeof(buf)));
> }
> /*
> * Always select the oldest socket. It's not fair,
Your patch is correct, but please read patch submission instructions at:
http://lxr.linux.no/source/Documentation/SubmittingPatches
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
http://lkml.org/lkml/2005/4/7/183
At a minimum, you need to: (1) provide Signed-off-by: line on top of the
patch, (2) cc: netdev[at]vger.kernel.org (or other maintainer(s)) in your
mail, and, (3) give a useful "[patch] sunrpc: fix printk argument" kind of
Subject: line.
Satyam