Language Selection

English French German Italian Portuguese Spanish

Latest LWN Articles About Linux (Paywall Has Just Expired)

Filed under
Linux
  • SPDX identifiers in the kernel

    Observers of the kernel's commit stream or mailing lists will have seen a certain amount of traffic referring to the addition of SPDX license identifiers to kernel source files. For many, this may be their first encounter with SPDX. But the SPDX effort has been going on for some years; this article describes SPDX, along with why and how the kernel community intends to use it.

    On its face, compliance with licenses like the GPL seems like a straightforward task. But it quickly becomes complicated for a company that is shipping a wide range of software, in various versions, in a whole set of different products. Compliance problems often come about not because a given company wants to flout a license, but instead because that company has lost track of which licenses it needs to comply with and for which versions of which software. SPDX has its roots in an effort that began in 2009 to help companies get a handle on what their compliance obligations actually are.

    It can be surprisingly hard to determine which licenses apply to a given repository full of software. The kernel's COPYING file states that it can be distributed under the terms of version 2 of the GNU General Public License. But many of the source files within the kernel tell a different story; some are BSD licensed, and many are dual-licensed. Some carry an exception to make it clear that user-space programs are not a derived product of the kernel. Occasionally, files with GPL-incompatible licenses have been found (and fixed).

  • 4.15 Merge window part 1

    When he released 4.14, Linus Torvalds warned that the 4.15 merge window might be shorter than usual due to the US Thanksgiving holiday. Subsystem maintainers would appear to have heard him; as of this writing, over 8,800 non-merge changesets have been pulled into the mainline since the opening of the 4.15 merge window. Read on for a summary of the most interesting changes found in that first set of patches.

  • 4.15 Merge window part 2

    Despite the warnings that the 4.15 merge window could be either longer or shorter than usual, the 4.15-rc1 prepatch came out right on schedule on November 26. Anybody who was expecting a quiet development cycle this time around is in for a surprise, though; 12,599 non-merge changesets were pulled into the mainline during the 4.15 merge window, 1,000 more than were seen in the 4.14 merge window. The first 8,800 of those changes were covered in this summary; what follows is a look at what came after.

  • BPF-based error injection for the kernel

    Diligent developers do their best to anticipate things that can go wrong and write appropriate error-handling code. Unfortunately, error-handling code is especially hard to test and, as a result, often goes untested; the code meant to deal with errors, in other words, is likely to contain errors itself. One way of finding those bugs is to inject errors into a running system and watching how it responds; the kernel may soon have a new mechanism for doing this sort of injection.

    As an example of error handling in the kernel, consider memory allocations. There are few tasks that can be performed in kernel space without allocating memory to work with. Memory allocation operations can fail (in theory, at least), so any code that contains a call to a function like kmalloc() must check the returned pointer and do the right thing if the requested memory was not actually allocated. But kmalloc() almost never fails in a running kernel, so testing the failure-handling paths is hard. It is probably fair to say that a large percentage of allocation-failure paths in the kernel have never been executed; some of those are certainly wrong.

  • Tools for porting drivers

    Out-of-tree drivers are a maintenance headache, since customers may want to use them in newer kernels. But even those drivers that get merged into the mainline may need to be backported at times. Coccinelle developer Julia Lawall introduced the audience at Open Source Summit Europe to some new tools that can help make both forward-porting and backporting drivers easier.

    She opened her talk by noting that she was presenting step one in her plans, she hoped to be able to report on step two next year some time. The problem she is trying to address is that the Linux kernel keeps moving on. A vendor might create a driver for the 4.4 kernel but, over the next six months, the kernel will have moved ahead by another two versions. There are lots of changes with each new kernel, including API changes that require driver changes to keep up.

    That means that vendors need to continually do maintenance on their drivers unless they get them upstream, where they will get forward-ported by the community. But the reverse problem is there as well: once a device becomes popular, customers may start asking for it to run with older kernels too. That means backporting.

More in Tux Machines

Events: OpenStack Summit Vancouver, IBM Index, Eclipse CheConf 2018

  • OpenStack Summit Vancouver '18: Vote for Speakers
    The next OpenStack Summit takes place again in Vancouver (BC, Canada), May 21-25, 2018. The "Vote for Presentations" period started. All proposals are up for community votes. The deadline for your vote is will end February 25 at 11:59pm PST (February 26th at 8:59am CET)
  • IBM Index: A Community Event for Open Source Developers
    The first-ever INDEX community event, happening now in San Francisco, is an open developer conference featuring sessions on topics including artificial intelligence, machine learning, analytics, cloud native, containers, APIs, languages, and more.
  • Eclipse CheConf 2018 – Join the live stream February 21st at 10 am EST
    2017 was a fantastic year for the Che project, with more contributors, more commits, and more usage – this solidified Che’s position as the leading developer workspace server and browser IDE. Eclipse Che users logged over 7 million hours of public Che usage (plus more in private installs). We’ll discuss the growing cloud development market, Che’s position in it, and the exciting changes we’re planning for 2018.

Kernel News and Linux Foundation

  • Linux Kernel Module Growth
    The Linux kernel grows at an amazing pace, each kernel release adds more functionality, more drivers and hence more kernel modules. I recently wondered what the trend was for kernel module growth per release, so I performed module builds on kernels v2.6.24 through to v4.16-rc2 for x86-64 to get a better idea of growth rates...
  • A Linux Kernel Driver Is Being Worked On For Valve's Steam Controller
    Right now to make most use of the Steam Controller on Linux you need to be using the Steam client while there have been independent user-space programs like SC-Controller to enable Steam Controller functionality without the Steam client running. A new and independent effort is a Linux kernel driver for the Steam Controller. Through reverse-engineering, Rodrigo Rivas Costa has been developing a kernel driver for the Valve Steam Controller. This driver supports both USB cable and USB wireless adapters for the Steam Controller. This driver is being developed as a proper HID kernel driver so it should work with all existing Linux programs and doesn't require the use of the proprietary Steam client.
  • AT&T Puts Smart City IoT 'Edge' Computing On Direct Dial
  • Linux Foundation, AT&T Launch Akraino

Red Hat News and New Fedora 27 Live ISOs

Software: funny-manpages, Nginx, Cockpit and More

  • Have a Laugh With Funny Linux Man Pages
    There is a package unsurprisingly called funny-manpages and it adds some witty entries to the man pages.
  • HTTP/2 Server Push Directives Land in Nginx 1.13.9
    The open source Nginx 1.13.9 web server debuted today, providing support for a new HTTP/2 standard feature known as Server Push. The HTTP/2 web standard was completed three years ago in February 2015, with Nginx ahead of the curve in terms of HTTP/2 standard adoption. The NGINX Plus R7 release in September 2015 featured the first commercially supported enterprise-grade support provided by Nginx for HTTP/2.
  • Cockpit 162
    Cockpit is the modern Linux admin interface. We release regularly. Here are the release notes from version 162.
  • 6 Best Linux Music Players That Every User Must Try — (2018 Edition)
    Watching movies and playing music is one of the primary entertainment purposes served by our computers. So, when you move to a new operating system, it makes perfect sense if you look for useful media players. In the past, we’ve already told you about the best video players for Linux and, in this article, we’ll be telling you about the best music players for Linux-based operating systems. Let’s take a look at them:
  • CPod (formerly Cumulonimbus) – A Beautiful Podcast App
    Today, we introduce a somewhat new podcast application that is simple and yet delivers efficiently across all 3 desktop platforms. CPod, (formerly known as Cumulonimbus), is an electron-based podcast app player for audiobook and podcast lovers.
  • Apper 1.0.0 is out!
    Apper the package/apps manager based on PackageKit has got it’s 1.0.0 version on it’s 10th birthday!
  • VidCutter – Quickly Trim and Join Video Clips
    VidCutter is an open-source cross-platform video editor with which you can quickly trim and join video clips. It is Python and Qt5-based, uses FFmpeg for its encoding and decoding operations, and it supports all the popular video formats not excluding FLV, MP4, AVI, and MOV. VidCutter boasts a customizable User Interface that you can personalize using themes and a plethora of settings that you can tweak to make your video editing environment more appealing.
  • Weblate 2.19.1
  • Tusk Evernote Client Updated, Is Now Available as a Snap
    The Tusk Evernote client is now available as a Snap. We spotlighted the unofficial Evernote app last year, finding that it added to and improved on the standard Evernote web app in a number of ways.