socket-linux内核态socksdmg()疑问

问题描述

linux内核态socksdmg()疑问
static int log_send()
{_

int ret = 0;mm_segment_t old_fs;old_fs = get_fs();set_fs(KERNEL_DS);ret = sock_sendmsg(loginfo.sock &loginfo.msgbuff strlen(loginfo.buff));set_fs(old_fs);return ret;

}

代码如上。
我的问题是,通过sendmsg发送UDP报文为何要设置内存边界?如果不设置sock_sendmsg返回错误码 -14(bad address)

时间: 2024-09-28 04:42:59

socket-linux内核态socksdmg()疑问的相关文章

Linux内核态抢占机制分析

本文首先介绍非抢占式内核(Non-Preemptive Kernel)和可抢占式内核(Preemptive Kernel)的区别.接着分析Linux下有两种抢占:用户态抢占(User Preemption).内核态抢占(Kernel Preemption).然后分析了在内核态下:如何判断能否抢占内核(什么是可抢占的条件);何时触发重新调度(何时设置可抢占条件);抢占发生的时机(何时检查可抢占的条件);什么时候不能抢占内核.最后分析了2.6kernel中如何支持抢占内核. 1. 非抢占式和可抢占式

Linux用户态和内核态

转载 - Linux用户态和内核态 作者 digoal 日期 2016-11-20 标签 Linux , 内核态 , 用户态 背景 原文 http://longmans1985.blog.163.com/blog/static/7060547520109262178736/ 原文 1. 用户态和内核态的概念区别 究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个

gdbserver-linux内核态调试手段问题

问题描述 linux内核态调试手段问题 3C 各位大神,我最近在研究内核调试这一块儿,有诸多疑问,望解答.本人调试的linux内核为运行在Freescale imx53开发板的andorid内核,android4.3.2,linux2.6.35.ubuntu版本为14.04.欲在Ubuntu上搭建一个针对配套的内核调试环境,以实现单步.断点等调试.这几天在网上搜索资料,推荐的内核调试的比较实用的方法有gdb与gdbserver,kgdb,但有诸多疑问,尚未成功.1)gdb与gdbserver这个

例说linux内核与应用数据通信系列【转】

转自:http://blog.csdn.net/shallnet/article/details/47865169 版权声明:本文为博主原创文章,未经博主允许不得转载.如果您觉得文章对您有用,请点击文章下面"顶". [版权声明:尊重原创,转载请保留出处:blog.csdn.NET/shallnet,文章仅供学习交流,请勿用于商业用途]     本系列通过源码示例讲解Linux内核态与用户态数据通信的各种方式: 例说linux内核与应用数据通信(一):添加一个系统调用例说linux内核与

Linux内核协议栈-从BSD socket接口层到传输层1

本文接上一篇Linux内核协议栈-初始化流程分析,在上一篇中主要分析了了Linux内核协议栈涉及到的关键初始化函数,在这一篇文章中将分析协议栈的BSD socket和到传输层的流程.采取的方式是分析socket相关的主要系统调用.针对不同的系统调用,其到达的协议层深度可能不同,有的基本只到sock层就够了,但是有些可能需要会涉及到比如tcp的具体细节和更底层的细节.本文基本追溯到传输层的开始,再深入的细节后续文章分析. 1.准备 协议的基本分层: (A代表socket的某个系统调用) BSD s

linux内核-关于Linux内核看门狗的疑问

问题描述 关于Linux内核看门狗的疑问 在内核源码中,Linux内核看门狗线程的调度策略是SCHED_FIFO,而我自己的内核模块中调度策略默认为SCHED_NORMAL,按理说FIFO比NORMAL的优先级要高,可为什么我自己模块中的死循环还是让看门狗饿死了,求解释.

kset_get函数-关于linux 内核函数 kset_get的疑问,望大神解答

问题描述 关于linux 内核函数 kset_get的疑问,望大神解答 kset_get函数定义如下:static inline struct kset *kset_get(struct kset *k){ return k ? to_kset(kobject_get(&k->kobj)) : NULL;}static inline struct kset *to_kset(struct kobject *kobj){ return kobj ? container_of(kobj stru

Linux内核分析(七)----并发与竞态

原文:Linux内核分析(七)----并发与竞态 Linux内核分析(七) 这两天家里的事好多,我们今天继续接着上一次的内容学习,上次我们完善了字符设备控制方法,并深入分析了系统调用的实质,今天我们主要来了解一下并发和竞态. 今天我们会分析到以下内容: 1.      并发和竞态简介 2.      竞态解决办法 3.      为我们的虚拟设备增加并发控制   在前几次博文我们已经实现了简单的字符设备,看似完美但我们忽视了一个很严重的问题,即并发问题,那么什么是并发,又如何解决并发呢,我们下面

剖析一个由sendfile引发的linux内核BUG

在论坛上看到一个讲linux内核BUG的帖子,利用这个BUG,一个普通用户能够在运行某个程序之后,获得root权限. 示例的代码如下:http://www.securityfocus.com/data/vulnerabilities/exploits/36038-4.tgz 在ubuntu 9.04,内核版本2.6.28.12的机器上测试通过. (警告,此BUG已经是公开的秘密了.如果想用来干坏事,是很容易被发现的,并且将受到法律的制裁!) 也希望linux内核尽快修复该BUG. 那么,这究竟是