Author: Greg Kroah-Hartman <[email protected]>
Date: Mon Oct 12 13:15:40 2009 -0700
Author: Sascha Hlusiak <[email protected]>
Date: Tue Sep 29 11:27:05 2009 +0000
sit: fix off-by-one in ipip6_tunnel_get_prl
[ Upstream commit 298bf12ddb25841804f26234a43b89da1b1c0e21 ]
When requesting all prl entries (kprl.addr == INADDR_ANY) and there are
more prl entries than there is space passed from userspace, the existing
code would always copy cmax+1 entries, which is more than can be handled.
This patch makes the kernel copy only exactly cmax entries.
Here is the statistic on this kernel that was awesome and great, team you are the best.
The LinuxTV project develops and maintains the DVB driver subsystem which is included in the Linux 2.6.x kernel. The Linux kernel and the LinuxTV CVS include a fair number of drivers for commonly available PCI cards and USB devices, but the DVB subsystem core is also targeted towards Linux basedset-top-boxes
Good news.. i just found cool training for the developer or Validation team.. especially who work with the new hardware/driver… You can use the knowledge to implement it in your daily task..Adding a Driver to the Kernel Tree Details: Linux Certified
Linux Device Driver Training
Linux Device Driver Development Course
Overall objective of this class is to teach attendees on how to develop device drivers for Linux.
This three day course provides substantial practice with the key steps in developing Linux device drivers. The course shows attendees how device drivers work with the Linux kernel, how to compile and load drivers, how to debug drivers, as well as other essential topics.
This course acquaints developers with the issues essential for Linux device driver development. The course progresses through a number of topics. Each topic is presented along with a supporting laboratory exercise before moving on to the next topic.
Attendees will spend approximately 50 percent of the class time actually gaining hands-on experience with these topics.
The following modules will be covered during the class:
Devices in Linux
Devices treated as files, the /dev directory
Device classes – character, block, network, pipe
Creating device files with mknod
User Space Driver APIs
How Loadable Modules Work
Benefits of loadable modules
Correct use of insmod, modprobe, rmmod, and lsmod
Passing parameters to a loadable module
The GPL and your driver code
Compiling, Loading And Exporting
Writing a simple module
Exporting symbols from a loadable module
Creating stacked loadable modules
Major and minor numbers
Registering character device file
Driver methods – the file operations table
Transferring data to/from User Space
Tracing and Debugging
printk for debugging
Device information in /proc
strace to track system calls
ksyms and ksymoops
Debuggers – gdb and kgdb
Blocking and Wait Queues
I/O ports vs. memory mapping
Allocating and mapping I/O space
Functions for reading and writing I/O ports
Accessing I/O from User Space
Interrupt Handler functions
Restrictions of kernel code running in interrupt context
Deferred interrupt handling tasklets and workqueues
USB structure and Topology
Endpoints, interfaces and configurations USB Request Blocks(urbs) Driver Structure and organization “Gadget” drivers
Timer interrupts and jiffies
Block Device Drivers
Block Device Drivers
Registering block drivers
The block_device_operations structure
The net_device structure
Naming scheme and registration
Network driver methods
NAPI the new API
Adding a Driver to the Kernel Tree
Where to put it – kernel layout for drivers
Modifying the Makefile Adding it to configuration options – the Kconfig file
• To provide an understanding of the essentials of Linux device drivers.
• To give you practical experience in developing Linux device drivers.
• The steps necessary to add devices to a Linux system
• How to determine what hardware is present on a Linux system
• The purpose and functionality of device drivers
• Compiling and linking device drivers
• Trade-offs between loadable modules and drivers compiled into the kernel.
Who Should Attend: The course is designed for software engineers who are new to Linux device drivers. Attendees should have experience with C, be able to perform basic Unix commands, and have some experience with the basic Gnu tools of gcc, gdb, and make.
Course Materials The class materials for this course have been meticlously designed by leading practioners in this area. The workshop materials include a comprehensive student workbook and CD. The workbook contains all of the slides used in the course as well as hands-on lab exercises. The CD contains the lab exercise code as well as a large amount of Linux software.
Course Workshop and Set-up: The workshop makes use of standard PC’s with a desktop Linux distribution for development. The course will make use of PC’s and PC devices as examples.
Those of you who know me well know that I like to wax on about a day 15 years ago in the labs at Digital Equipment Corp. It was the day I had my “AHA!” moment, when we were hacking on a Linux/Intel combo and hit performance levels surpassing our flagship UNIX/RISC enterprise product.
I knew then that we were at the dawn of a new generation of solutions which would power the future enterprise on open source software and x86 processors.
Nearly 15 years later, the collaborative development model enabled by open source software, continues to deliver innovation at a level unable to be matched by the largest of the legacy vendors. Today marks not a footnote, but a new book in this tale: the next generation hypervisor which will drive the next wave of IT architecture. From the virtualized datacenter to the cloud.
Known within the development community as KVM, it is the world’s first hypervisor based on the linux kernel. Simply put, it enables the Linux kernel to be used as a bare metal hypervisor. The significance of this is twofold:
the rapid evolution of Linux kernel technology will now directly advance the capabilities of the hypervisor. new schedulers, power mgmt, performance, security, etc.
any device, from the phone, appliance, desktop to server which are increasingly powered by Linux, will in the future have the ability to host virtualized machines.
While it is no secret that Red Hat has been openly working on KVM technology, both from its inclusion as part of Fedora 7 almost two years ago, and the acquisition of Qumranet, today marks our formal commitment to our existing and future customers.
Red Hat will be including KVM as part of RHEL 5.4, due out later this year. In addition, we will deliver KVM unbundled from RHEL, in a package dubbed RHEV-H(ypervisor). RHEV-H is a stateless hypervisor, with a tight footprint of under 128MB, which presents a libvirt interface to the management tier. Enterprise servers will no longer need to go through an installation process, and will instead be able to boot RHEV-H from flash or a network server, and be able to immediately begin servicing virtual guests. This stateless model drives down OPEX and enables the scalability required by terascale grids, large datacenters and cloud class compute environments.
Red Hat also announced two new virtualization management offerings, both part of the new RHEV family.
Did you want to learn more about Linux Kernel Architecture. I think i want… Some books that i found in Kinokuniya. When to implement it? when u working in Hardware areas? Like Intel (Motherboard,embedded), IBM,HP, SUN, but in hardware field