forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/drivers/isdn/mISDN/socket.c
....@@ -1,18 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 *
34 * Author Karsten Keil <kkeil@novell.com>
45 *
56 * Copyright 2008 by Karsten Keil <kkeil@novell.com>
6
- *
7
- * This program is free software; you can redistribute it and/or modify
8
- * it under the terms of the GNU General Public License version 2 as
9
- * published by the Free Software Foundation.
10
- *
11
- * This program is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- * GNU General Public License for more details.
15
- *
167 */
178
189 #include <linux/mISDNif.h>
....@@ -103,7 +94,7 @@
10394 static inline void
10495 mISDN_sock_cmsg(struct sock *sk, struct msghdr *msg, struct sk_buff *skb)
10596 {
106
- struct timeval tv;
97
+ struct __kernel_old_timeval tv;
10798
10899 if (_pms(sk)->cmask & MISDN_TIME_STAMP) {
109100 skb_get_timestamp(skb, &tv);
....@@ -236,8 +227,7 @@
236227 }
237228
238229 done:
239
- if (skb)
240
- kfree_skb(skb);
230
+ kfree_skb(skb);
241231 release_sock(sk);
242232 return err;
243233 }
....@@ -411,20 +401,20 @@
411401 }
412402
413403 static int data_sock_setsockopt(struct socket *sock, int level, int optname,
414
- char __user *optval, unsigned int len)
404
+ sockptr_t optval, unsigned int len)
415405 {
416406 struct sock *sk = sock->sk;
417407 int err = 0, opt = 0;
418408
419409 if (*debug & DEBUG_SOCKET)
420
- printk(KERN_DEBUG "%s(%p, %d, %x, %p, %d)\n", __func__, sock,
421
- level, optname, optval, len);
410
+ printk(KERN_DEBUG "%s(%p, %d, %x, optval, %d)\n", __func__, sock,
411
+ level, optname, len);
422412
423413 lock_sock(sk);
424414
425415 switch (optname) {
426416 case MISDN_TIME_STAMP:
427
- if (get_user(opt, (int __user *)optval)) {
417
+ if (copy_from_sockptr(&opt, optval, sizeof(int))) {
428418 err = -EFAULT;
429419 break;
430420 }
....@@ -748,8 +738,6 @@
748738 .recvmsg = sock_no_recvmsg,
749739 .listen = sock_no_listen,
750740 .shutdown = sock_no_shutdown,
751
- .setsockopt = sock_no_setsockopt,
752
- .getsockopt = sock_no_getsockopt,
753741 .connect = sock_no_connect,
754742 .socketpair = sock_no_socketpair,
755743 .accept = sock_no_accept,