[PATCH 5/9] UML - add mconsole_reply variant with length param

From: Jeff Dike
Date: Wed Jan 04 2006 - 15:58:59 EST


This is needed for the console output patch, since we have a
possibly non-NULL-terminated string there. So, the new interface
takes a string and a length, and the old interface calls strlen on
its string and calls the new interface with the length.

There's also a bit of whitespace cleanup.

Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx>

Index: linux-2.6.15/arch/um/drivers/mconsole_user.c
===================================================================
--- linux-2.6.15.orig/arch/um/drivers/mconsole_user.c 2005-11-30 12:48:57.000000000 -0500
+++ linux-2.6.15/arch/um/drivers/mconsole_user.c 2005-12-28 23:22:37.000000000 -0500
@@ -122,12 +122,12 @@ int mconsole_get_request(int fd, struct
return(1);
}

-int mconsole_reply(struct mc_request *req, char *str, int err, int more)
+int mconsole_reply_len(struct mc_request *req, const char *str, int total,
+ int err, int more)
{
struct mconsole_reply reply;
- int total, len, n;
+ int len, n;

- total = strlen(str);
do {
reply.err = err;

@@ -155,6 +155,12 @@ int mconsole_reply(struct mc_request *re
return(0);
}

+int mconsole_reply(struct mc_request *req, const char *str, int err, int more)
+{
+ return mconsole_reply_len(req, str, strlen(str), err, more);
+}
+
+
int mconsole_unlink_socket(void)
{
unlink(mconsole_socket_name);
Index: linux-2.6.15/arch/um/include/mconsole.h
===================================================================
--- linux-2.6.15.orig/arch/um/include/mconsole.h 2005-10-28 12:58:12.000000000 -0400
+++ linux-2.6.15/arch/um/include/mconsole.h 2005-12-29 11:52:19.000000000 -0500
@@ -32,7 +32,7 @@ struct mconsole_reply {

struct mconsole_notify {
u32 magic;
- u32 version;
+ u32 version;
enum { MCONSOLE_SOCKET, MCONSOLE_PANIC, MCONSOLE_HANG,
MCONSOLE_USER_NOTIFY } type;
u32 len;
@@ -66,7 +66,9 @@ struct mc_request
extern char mconsole_socket_name[];

extern int mconsole_unlink_socket(void);
-extern int mconsole_reply(struct mc_request *req, char *reply, int err,
+extern int mconsole_reply_len(struct mc_request *req, const char *reply,
+ int len, int err, int more);
+extern int mconsole_reply(struct mc_request *req, const char *str, int err,
int more);

extern void mconsole_version(struct mc_request *req);
@@ -84,7 +86,7 @@ extern void mconsole_proc(struct mc_requ
extern void mconsole_stack(struct mc_request *req);

extern int mconsole_get_request(int fd, struct mc_request *req);
-extern int mconsole_notify(char *sock_name, int type, const void *data,
+extern int mconsole_notify(char *sock_name, int type, const void *data,
int len);
extern char *mconsole_notify_socket(void);
extern void lock_notify(void);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/