Brief items
Security
A serious Drupal security issue
The Drupal security team has sent out a "highly critical" alert: "A remote code execution vulnerability exists within multiple subsystems of Drupal 7.x and 8.x. This potentially allows attackers to exploit multiple attack vectors on a Drupal site, which could result in the site being completely compromised." This seems worth avoiding; updating to the current version is the way to do that. There is an FAQ page with a little more information.
Security quotes of the week
That's a problem in other privacy domains: spy agencies are understood to be storing vast quantities of encrypted traffic intercepted from the public internet against the day that a defect is discovered in the encryption method used to scramble it; hashed password archives live on forever in the web, waiting to be decrypted using new, superior attacks on their hashing algorithms, and so on.
Kernel development
Kernel release status
The current development kernel is 4.16-rc7, released on March 25. This may be the final prepatch for 4.16 if all goes well: "I'm still not *planning* on an rc8 this release, because while rc7 is bigger than usual, nothing in here makes me go 'Hmm, maybe we should delay the release'. But let's see what happens this upcoming week - if next Sunday comes around, and there's lots of new stuff, I'll reconsider then."
The 4.16-rc7 regression report shows seven known problems.
Stable updates: 4.9.89, 4.4.123, and 3.18.101 were released on March 22, followed by 4.15.13, 4.14.30, 4.9.90, 4.4.124, and 3.18.102 on March 25. The 4.15.14, 4.14.31, 4.9.91, and 4.4.125 updates are in the review process; they are due on March 29.
The joy of max()
LWN recently looked at the kernel's max() macro and the effort put into ensuring that it would evaluate to a "constant expression" as seen by the compiler. After a number of iterations, it would appear that the problem has been solved. For your reading pleasure, here is the new form of max(), extracted from the patch posted by Kees Cook:
#define __typecheck(x, y) \
(!!(sizeof((typeof(x)*)1 == (typeof(y)*)1)))
#define __is_constant(x) \
(sizeof(int) == sizeof(*(1 ? ((void*)((long)(x) * 0l)) : (int*)1)))
#define __no_side_effects(x, y) \
(__is_constant(x) && __is_constant(y))
#define __safe_cmp(x, y) \
(__typecheck(x, y) && __no_side_effects(x, y))
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
#define __cmp_once(x, y, op) ({ \
typeof(x) __x = (x); \
typeof(y) __y = (y); \
__cmp(__x, __y, op); })
#define __careful_cmp(x, y, op) \
__builtin_choose_expr(__safe_cmp(x, y), \
__cmp(x, y, op), __cmp_once(x, y, op))
#define max(x, y) __careful_cmp(x, y, >)
The above definitions should, of course, be immediately obvious to any LWN reader. For those who want an extra hint or two, though, the patch posting includes a few explanatory comments.
Quotes of the week
But a bigger voice disagrees.
It is a work of art, and maybe the best documentation is just the name. It does what it says it does.
Art shouldn't be explained. It should be appreciated.
Distributions
Qubes OS 4.0 has been released
The security-focused distribution Qubes OS has released version 4.0. "This release delivers on the features we promised in our announcement of Qubes 4.0-rc1, with some course corrections along the way, such as the switch from HVM to PVH for most VMs in response to Meltdown and Spectre. For more details, please see the full Release Notes."
Distribution quotes of the week
Development
DomTerm 1.0 released
Per Bothner has released DomTerm 1.0. Since DomTerm was covered here in January 2016, many features have been added or enhanced. (See this article on opensource.com.) DomTerm is a mostly-xterm-compatible terminal emulator, but the output can be graphics, rich text, and other html, so it is suitable as a REPL for a program like gnuplot. Other major features include screen/tmux-style tiling and detachable sessions, readline-style input editing (integrated with mouse and clipboard), and opening an editor when clicking an error message.Stone: A new era for Linux's low-level graphics - Part 2
Here's the second part of Daniel Stone's series on recent improvements in low-level graphics support. "The end result of all this work is that we have been able to eliminate the magic side channels which used to proliferate, and lay the groundwork for properly communicating this information across multiple devices as well. Devices supporting ARM's AFBC compression format are just beginning to hit the market, which share a single compression format between video decoder, GPU, and display controller. We are also beginning to see GPUs from different vendors share tiling formats, in order to squeeze the most performance possible from hybrid GPU systems."
Appeals Court Overturns Google's Fair Use Victory For Java APIs (Techdirt)
Techdirt reports that the US Court of Appeals for the Federal Circuit (CAFC) has resurrected Oracle's copyright claim against Google for its use of the Java APIs in Android. "Honestly, the most concerning part of the whole thing is how much of a mess CAFC has made of the whole process. The court ruled correctly originally that APIs are not subject to copyright. CAFC threw that out and ordered the court to have a jury determine the fair use question. The jury found it to be fair use, and even though CAFC had ordered the issue be heard by a jury, it now says 'meh, we disagree with the jury.' That's... bizarre."
Krita 4.0 released
Version 4.0 of the Krita drawing tool has been released; see this article for a summary of the new features in this release. "Krita 4.0 will use SVG on vector layers by default, instead of the prior reliance on ODG. SVG is the most widely used open format for vector graphics out there. Used by 'pure' vector design applications, SVG on Krita currently supports gradients and transparencies, with more effects coming soon."
Kubernetes 1.10 released
Kubernetes 1.10 has been released. "This newest version stabilizes features in 3 key areas, including storage, security, and networking. Notable additions in this release include the introduction of external kubectl credential providers (alpha), the ability to switch DNS service to CoreDNS at install time (beta), and the move of Container Storage Interface (CSI) and persistent local volumes to beta."
Development quotes of the week
In concrete terms, go around and find out what kind of little one-off tools people have designed. Talk to them and hear their stories. Look in their personal bin directories. Take notes and look for patterns. See if anything stands out, or if anything particularly compelling grabs you during the interviews.
Then, if you go off and build something new to soften a rough edge, not only do they get to remove the duct tape, but you have a bunch of interested users from day one. Also, just think of the goodwill that is bound to follow when they realize that finally, someone cares about the end-user experience, and is willing to adapt upstream to make their lives better.
Miscellaneous
Public Lab and Karen Sandler are 2017 Free Software Awards winners
The Free Software Foundation (FSF) announced the winners of the 2017 Free Software Awards during LibrePlanet. "Public Lab is a community and non-profit organization with the goal of democratizing science to address environmental issues. Their community-created tools and techniques utilize free software and low-cost devices to enable people at any level of technical skill to investigate environmental concerns." The organization received the Award for Projects of Social Benefit. Karen Sandler, the Executive Director of the Software Freedom Conservancy, received the Award for the Advancement of Free Software.
Page editor: Jake Edge
Next page:
Announcements>>