1
+ #define pr_fmt (fmt ) KBUILD_MODNAME ": " fmt
2
+
1
3
#include <linux/kthread.h>
2
4
#include <linux/sched/signal.h>
3
5
#include <linux/tcp.h>
@@ -33,46 +35,41 @@ static int open_listen_socket(ushort port, ushort backlog, struct socket **res)
33
35
34
36
int err = sock_create (PF_INET , SOCK_STREAM , IPPROTO_TCP , & sock );
35
37
if (err < 0 ) {
36
- printk ( KERN_ERR MODULE_NAME ": sock_create() failure, err=%d\n" , err );
38
+ pr_err ( " sock_create() failure, err=%d\n" , err );
37
39
return err ;
38
40
}
39
41
40
42
err = setsockopt (sock , SOL_SOCKET , SO_REUSEADDR , 1 );
41
43
if (err < 0 ) {
42
- printk (KERN_ERR MODULE_NAME ": kernel_setsockopt() failure, err=%d\n" ,
43
- err );
44
+ pr_err ("kernel_setsockopt() failure, err=%d\n" , err );
44
45
sock_release (sock );
45
46
return err ;
46
47
}
47
48
48
49
err = setsockopt (sock , SOL_TCP , TCP_NODELAY , 1 );
49
50
if (err < 0 ) {
50
- printk (KERN_ERR MODULE_NAME ": kernel_setsockopt() failure, err=%d\n" ,
51
- err );
51
+ pr_err ("kernel_setsockopt() failure, err=%d\n" , err );
52
52
sock_release (sock );
53
53
return err ;
54
54
}
55
55
56
56
err = setsockopt (sock , SOL_TCP , TCP_CORK , 0 );
57
57
if (err < 0 ) {
58
- printk (KERN_ERR MODULE_NAME ": kernel_setsockopt() failure, err=%d\n" ,
59
- err );
58
+ pr_err ("kernel_setsockopt() failure, err=%d\n" , err );
60
59
sock_release (sock );
61
60
return err ;
62
61
}
63
62
64
63
err = setsockopt (sock , SOL_SOCKET , SO_RCVBUF , 1024 * 1024 );
65
64
if (err < 0 ) {
66
- printk (KERN_ERR MODULE_NAME ": kernel_setsockopt() failure, err=%d\n" ,
67
- err );
65
+ pr_err ("kernel_setsockopt() failure, err=%d\n" , err );
68
66
sock_release (sock );
69
67
return err ;
70
68
}
71
69
72
70
err = setsockopt (sock , SOL_SOCKET , SO_SNDBUF , 1024 * 1024 );
73
71
if (err < 0 ) {
74
- printk (KERN_ERR MODULE_NAME ": kernel_setsockopt() failure, err=%d\n" ,
75
- err );
72
+ pr_err ("kernel_setsockopt() failure, err=%d\n" , err );
76
73
sock_release (sock );
77
74
return err ;
78
75
}
@@ -83,14 +80,14 @@ static int open_listen_socket(ushort port, ushort backlog, struct socket **res)
83
80
s .sin_port = htons (port );
84
81
err = kernel_bind (sock , (struct sockaddr * ) & s , sizeof (s ));
85
82
if (err < 0 ) {
86
- printk ( KERN_ERR MODULE_NAME ": kernel_bind() failure, err=%d\n" , err );
83
+ pr_err ( " kernel_bind() failure, err=%d\n" , err );
87
84
sock_release (sock );
88
85
return err ;
89
86
}
90
87
91
88
err = kernel_listen (sock , backlog );
92
89
if (err < 0 ) {
93
- printk ( KERN_ERR MODULE_NAME ": kernel_listen() failure, err=%d\n" , err );
90
+ pr_err ( " kernel_listen() failure, err=%d\n" , err );
94
91
sock_release (sock );
95
92
return err ;
96
93
}
@@ -108,13 +105,13 @@ static int __init khttpd_init(void)
108
105
{
109
106
int err = open_listen_socket (port , backlog , & listen_socket );
110
107
if (err < 0 ) {
111
- printk ( KERN_ERR MODULE_NAME ": can't open listen socket\n" );
108
+ pr_err ( " can't open listen socket\n" );
112
109
return err ;
113
110
}
114
111
param .listen_socket = listen_socket ;
115
112
http_server = kthread_run (http_server_daemon , & param , MODULE_NAME );
116
113
if (IS_ERR (http_server )) {
117
- printk ( KERN_ERR MODULE_NAME ": can't start http server daemon\n" );
114
+ pr_err ( " can't start http server daemon\n" );
118
115
close_listen_socket (listen_socket );
119
116
return PTR_ERR (http_server );
120
117
}
@@ -126,7 +123,7 @@ static void __exit khttpd_exit(void)
126
123
send_sig (SIGTERM , http_server , 1 );
127
124
kthread_stop (http_server );
128
125
close_listen_socket (listen_socket );
129
- printk ( KERN_INFO MODULE_NAME ": module unloaded\n" );
126
+ pr_info ( " module unloaded\n" );
130
127
}
131
128
132
129
module_init (khttpd_init );
0 commit comments