Messages in this thread | | | From | Marc Dionne <> | Date | Wed, 24 May 2023 12:43:18 -0300 | Subject | Re: [PATCH] Remove hardcoded static string length |
| |
On Tue, May 23, 2023 at 9:50 PM Andrew Lunn <andrew@lunn.ch> wrote: > > On Tue, May 23, 2023 at 06:39:44PM -0400, Kenny Ho wrote: > > UTS_RELEASE length can exceed the hardcoded length. This is causing > > compile error when WERROR is turned on. > > > > Signed-off-by: Kenny Ho <Kenny.Ho@amd.com> > > --- > > net/rxrpc/local_event.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/net/rxrpc/local_event.c b/net/rxrpc/local_event.c > > index 19e929c7c38b..61d53ee10784 100644 > > --- a/net/rxrpc/local_event.c > > +++ b/net/rxrpc/local_event.c > > @@ -16,7 +16,7 @@ > > #include <generated/utsrelease.h> > > #include "ar-internal.h" > > > > -static const char rxrpc_version_string[65] = "linux-" UTS_RELEASE " AF_RXRPC"; > > +static const char rxrpc_version_string[] = "linux-" UTS_RELEASE " AF_RXRPC"; > > This is not an area of the network stack i know about, so please > excuse what might be a dumb question. > > How is the protocol defined here? Is there an RFC or some other sort > of standard? > > A message is being built and sent over a socket. The size of that > message was fixed, at 65 + sizeof(whdr). Now the message is variable > length. Does the protocol specification actually allow this? > > Andrew
I don't think there is an RFC describing RX, but the closest thing to a spec (https://web.mit.edu/kolya/afs/rx/rx-spec) states:
"If a server receives a packet with a type value of 13, and the client-initiated flag set, it should respond with a 65-byte payload containing a string that identifies the version of AFS software it is running."
So while it may not actually cause any issues (the few things that look at the data just truncate past 65), it's probably best to keep the response at a fixed 65 bytes.
Marc
| |