· 8 years ago · Apr 18, 2018, 09:26 PM
1
2
3
4
5
6
7
8<!DOCTYPE html>
9<html lang="en">
10 <head>
11 <meta charset="utf-8">
12 <link rel="dns-prefetch" href="https://assets-cdn.github.com">
13 <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
14 <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
15 <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
16 <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
17 <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
18 <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
19
20
21
22 <link crossorigin="anonymous" media="all" integrity="sha512-eYhUAIv4O/68uoHkCtYXVTxc5Q92+NKMtOryYR5Svt7vDp34XkrggN5j4lrKyiB0B2HUyrAYvAb3tlhmFGhivg==" rel="stylesheet" href="https://assets-cdn.github.com/assets/frameworks-592c4aa40e940d1b0607a3cf272916ff.css" />
23 <link crossorigin="anonymous" media="all" integrity="sha512-tAb2Jg5owcau6P+YFTlebsFvybAeFaii7FoIIuYEtgu+esY8+SX6Xhyw3fXb+f9QB6wwivUzgoXXwO8ZteApKA==" rel="stylesheet" href="https://assets-cdn.github.com/assets/github-fdbbae74da4136fd4258a92eb943be60.css" />
24
25
26 <link crossorigin="anonymous" media="all" integrity="sha512-d/Z8qkPIypOBvoV6s1ReDDzT0gEGP9MX7VaLPp0MbdP6ev5P0JREdfzCsgvkd70vyrJZW9L5rO+xU/3qDHjD7A==" rel="stylesheet" href="https://assets-cdn.github.com/assets/site-348211d27070b0d7bb5d31b1ac3d265b.css" />
27
28
29 <meta name="viewport" content="width=device-width">
30
31 <title>GitHub - torvalds/linux: Linux kernel source tree</title>
32 <meta name="description" content="GitHub is where people build software. More than 27 million people use GitHub to discover, fork, and contribute to over 80 million projects.">
33 <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
34 <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
35 <meta property="fb:app_id" content="1401488693436528">
36
37
38 <meta property="og:image" content="https://avatars1.githubusercontent.com/u/1024025?s=400&v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="torvalds/linux" /><meta property="og:url" content="https://github.com/torvalds/linux" /><meta property="og:description" content="linux - Linux kernel source tree" />
39
40 <link rel="assets" href="https://assets-cdn.github.com/">
41
42 <meta name="pjax-timeout" content="1000">
43
44 <meta name="request-id" content="AF1C:79D6:1815C1A:3161C04:5AD7B777" data-pjax-transient>
45
46
47
48
49 <meta name="selected-link" value="repo_source" data-pjax-transient>
50
51 <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
52 <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
53 <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
54 <meta name="google-analytics" content="UA-3769691-2">
55
56<meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="AF1C:79D6:1815C1A:3161C04:5AD7B777" /><meta name="octolytics-dimension-region_edge" content="iad" /><meta name="octolytics-dimension-region_render" content="iad" />
57<meta name="analytics-location" content="/<user-name>/<repo-name>" data-pjax-transient="true" />
58
59
60
61
62 <meta class="js-ga-set" name="dimension1" content="Logged Out">
63
64
65
66
67 <meta name="hostname" content="github.com">
68 <meta name="user-login" content="">
69
70 <meta name="expected-hostname" content="github.com">
71 <meta name="js-proxy-site-detection-payload" content="NzI5NjVjYTRjM2YyZTFlY2QyMTFhNGEyZTBiNWNiZTNkOWUxNWNjNDUxNGZlOTg4ODJkYWY1NWU2ZmM2OWUxY3x7InJlbW90ZV9hZGRyZXNzIjoiNDYuMjIzLjEyOS4xMiIsInJlcXVlc3RfaWQiOiJBRjFDOjc5RDY6MTgxNUMxQTozMTYxQzA0OjVBRDdCNzc3IiwidGltZXN0YW1wIjoxNTI0MDg2NjQ3LCJob3N0IjoiZ2l0aHViLmNvbSJ9">
72
73 <meta name="enabled-features" content="UNIVERSE_BANNER,FREE_TRIALS,MARKETPLACE_INSIGHTS,MARKETPLACE_SELF_SERVE,MARKETPLACE_INSIGHTS_CONVERSION_PERCENTAGES">
74
75 <meta name="html-safe-nonce" content="beedf3117b6d7b70059eb8e24e7eb05f955bfa04">
76
77 <meta http-equiv="x-pjax-version" content="64f03629d5075031842780cedb552ba9">
78
79
80 <link href="https://github.com/torvalds/linux/commits/master.atom" rel="alternate" title="Recent Commits to linux:master" type="application/atom+xml">
81
82 <meta name="description" content="linux - Linux kernel source tree">
83 <meta name="go-import" content="github.com/torvalds/linux git https://github.com/torvalds/linux.git">
84
85 <meta name="octolytics-dimension-user_id" content="1024025" /><meta name="octolytics-dimension-user_login" content="torvalds" /><meta name="octolytics-dimension-repository_id" content="2325298" /><meta name="octolytics-dimension-repository_nwo" content="torvalds/linux" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="2325298" /><meta name="octolytics-dimension-repository_network_root_nwo" content="torvalds/linux" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" />
86
87
88 <link rel="canonical" href="https://github.com/torvalds/linux" data-pjax-transient>
89
90
91 <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
92
93 <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
94
95 <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">
96 <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://assets-cdn.github.com/favicon.ico">
97
98<meta name="theme-color" content="#1e2327">
99
100
101 <meta name="u2f-support" content="true">
102
103<link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
104
105 </head>
106
107 <body class="logged-out env-production">
108
109
110 <div class="position-relative js-header-wrapper ">
111 <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a>
112 <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>
113
114
115
116
117
118
119
120 <header class="Header header-logged-out position-relative f4 py-3" role="banner">
121 <div class="container-lg d-flex px-3">
122 <div class="d-flex flex-justify-between flex-items-center">
123 <a class="header-logo-invertocat my-0" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
124 <svg height="32" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
125 </a>
126
127 </div>
128
129 <div class="HeaderMenu HeaderMenu--bright d-flex flex-justify-between flex-auto">
130 <nav class="mt-0">
131 <ul class="d-flex list-style-none">
132 <li class="ml-2">
133 <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:features" data-selected-links="/features /features/project-management /features/code-review /features/project-management /features/integrations /features" href="/features">
134 Features
135</a> </li>
136 <li class="ml-4">
137 <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:business" data-selected-links="/business /business/security /business/customers /business" href="/business">
138 Business
139</a> </li>
140
141 <li class="ml-4">
142 <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">
143 Explore
144</a> </li>
145
146 <li class="ml-4">
147 <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:marketplace" data-selected-links=" /marketplace" href="/marketplace">
148 Marketplace
149</a> </li>
150 <li class="ml-4">
151 <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:pricing" data-selected-links="/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing" href="/pricing">
152 Pricing
153</a> </li>
154 </ul>
155 </nav>
156
157 <div class="d-flex">
158 <div class="d-lg-flex flex-items-center mr-3">
159 <div class="header-search scoped-search site-scoped-search js-site-search" role="search">
160 <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" data-scoped-search-url="/torvalds/linux/search" data-unscoped-search-url="/search" action="/torvalds/linux/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" />
161 <label class="form-control header-search-wrapper js-chromeless-input-container">
162 <a class="header-search-scope no-underline" href="/torvalds/linux">This repository</a>
163 <input type="text"
164 class="form-control header-search-input js-site-search-focus js-site-search-field is-clearable"
165 data-hotkey="s,/"
166 name="q"
167 value=""
168 placeholder="Search"
169 aria-label="Search this repository"
170 data-unscoped-placeholder="Search GitHub"
171 data-scoped-placeholder="Search"
172 autocapitalize="off"
173 >
174 <input type="hidden" class="js-site-search-type-field" name="type" >
175 </label>
176</form></div>
177
178 </div>
179
180 <span class="d-inline-block">
181 <div class="HeaderNavlink px-0 py-2 m-0">
182 <a class="text-bold text-white no-underline" href="/login?return_to=%2Ftorvalds%2Flinux" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
183 <span class="text-gray">or</span>
184 <a class="text-bold text-white no-underline" href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
185 </div>
186 </span>
187 </div>
188 </div>
189 </div>
190</header>
191
192 </div>
193
194 <div id="start-of-content" class="show-on-focus"></div>
195
196 <div id="js-flash-container">
197</div>
198
199
200
201 <div role="main" class="application-main ">
202 <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
203 <div id="js-repo-pjax-container" data-pjax-container >
204
205
206
207
208
209
210 <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav ">
211 <div class="repohead-details-container clearfix container">
212
213 <ul class="pagehead-actions">
214 <li>
215 <a href="/login?return_to=%2Ftorvalds%2Flinux"
216 class="btn btn-sm btn-with-count tooltipped tooltipped-n"
217 aria-label="You must be signed in to watch a repository" rel="nofollow">
218 <svg class="octicon octicon-eye" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
219 Watch
220 </a>
221 <a class="social-count" href="/torvalds/linux/watchers"
222 aria-label="6233 users are watching this repository">
223 6,233
224 </a>
225
226 </li>
227
228 <li>
229 <a href="/login?return_to=%2Ftorvalds%2Flinux"
230 class="btn btn-sm btn-with-count tooltipped tooltipped-n"
231 aria-label="You must be signed in to star a repository" rel="nofollow">
232 <svg class="octicon octicon-star" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z"/></svg>
233 Star
234 </a>
235
236 <a class="social-count js-social-count" href="/torvalds/linux/stargazers"
237 aria-label="57746 users starred this repository">
238 57,746
239 </a>
240
241 </li>
242
243 <li>
244 <a href="/login?return_to=%2Ftorvalds%2Flinux"
245 class="btn btn-sm btn-with-count tooltipped tooltipped-n"
246 aria-label="You must be signed in to fork a repository" rel="nofollow">
247 <svg class="octicon octicon-repo-forked" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
248 Fork
249 </a>
250
251 <a href="/torvalds/linux/network" class="social-count"
252 aria-label="21266 users forked this repository">
253 21,266
254 </a>
255 </li>
256</ul>
257
258 <h1 class="public ">
259 <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
260 <span class="author" itemprop="author"><a class="url fn" rel="author" href="/torvalds">torvalds</a></span><!--
261--><span class="path-divider">/</span><!--
262--><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/torvalds/linux">linux</a></strong>
263
264</h1>
265
266 </div>
267
268<nav class="reponav js-repo-nav js-sidenav-container-pjax container"
269 itemscope
270 itemtype="http://schema.org/BreadcrumbList"
271 role="navigation"
272 data-pjax="#js-repo-pjax-container">
273
274 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
275 <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /torvalds/linux" href="/torvalds/linux">
276 <svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg>
277 <span itemprop="name">Code</span>
278 <meta itemprop="position" content="1">
279</a> </span>
280
281
282 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
283 <a data-hotkey="g p" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /torvalds/linux/pulls" href="/torvalds/linux/pulls">
284 <svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
285 <span itemprop="name">Pull requests</span>
286 <span class="Counter">202</span>
287 <meta itemprop="position" content="3">
288</a> </span>
289
290 <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /torvalds/linux/projects" href="/torvalds/linux/projects">
291 <svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
292 Projects
293 <span class="Counter" >0</span>
294</a>
295
296
297 <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse /torvalds/linux/pulse" href="/torvalds/linux/pulse">
298 <svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
299 Insights
300</a>
301
302</nav>
303
304
305 </div>
306
307<div class="container new-discussion-timeline experiment-repo-nav ">
308 <div class="repository-content ">
309
310
311 <div class="signup-prompt-bg rounded-1">
312 <div class="signup-prompt p-4 text-center mb-4 rounded-1">
313 <div class="position-relative">
314 <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/site/dismiss_signup_prompt" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="rNvK6wcakFUowkdOynQBKghV2jafbzZ2iM8/aM20JJLvME+ixZ7c1ZKP6Dr/Co906NbmmIJmyGeBEjvqc7UMPA==" />
315 <button type="submit" class="position-absolute top-0 right-0 btn-link link-gray" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss">
316 Dismiss
317 </button>
318</form>
319 <h3 class="pt-2">Join GitHub today</h3>
320 <p class="col-6 mx-auto">GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.</p>
321 <p class="pb-2">
322 <a class="btn btn-blue" href="/join?source=prompt-code" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up">Sign up</a>
323 </p>
324 </div>
325 </div>
326 </div>
327
328
329 <div class="js-repo-meta-container">
330 <div class="repository-meta mb-0 mb-3 js-repo-meta-edit js-details-container ">
331 <div class="repository-meta-content col-11 mb-1">
332 <span class="col-11 text-gray-dark mr-2" itemprop="about">
333 Linux kernel source tree
334 </span>
335 </div>
336
337 </div>
338
339</div>
340
341
342
343 <div class="overall-summary overall-summary-bottomless">
344 <div class="stats-switcher-viewport js-stats-switcher-viewport">
345 <div class="stats-switcher-wrapper">
346 <ul class="numbers-summary">
347 <li class="commits">
348 <a data-pjax href="/torvalds/linux/commits/master">
349 <svg class="octicon octicon-history" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 13H6V6h5v2H8v5zM7 1C4.81 1 2.87 2.02 1.59 3.59L0 2v4h4L2.5 4.5C3.55 3.17 5.17 2.3 7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-.34.03-.67.09-1H.08C.03 7.33 0 7.66 0 8c0 3.86 3.14 7 7 7s7-3.14 7-7-3.14-7-7-7z"/></svg>
350 <span class="num text-emphasized">
351 752,001
352 </span>
353 commits
354 </a>
355 </li>
356 <li>
357 <a data-pjax href="/torvalds/linux/branches">
358 <svg class="octicon octicon-git-branch" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
359 <span class="num text-emphasized">
360 1
361 </span>
362 branch
363 </a>
364 </li>
365
366 <li>
367 <a href="/torvalds/linux/releases">
368 <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
369 <span class="num text-emphasized">
370 553
371 </span>
372 releases
373 </a>
374 </li>
375
376 <li>
377 <a href="/torvalds/linux/graphs/contributors">
378 <svg class="octicon octicon-organization" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4"/></svg>
379 <span class="num text-emphasized">∞</span> contributors
380</a>
381
382 </li>
383 </ul>
384
385 <div class="repository-lang-stats">
386 <ol class="repository-lang-stats-numbers">
387 <li>
388 <a href="/torvalds/linux/search?l=c" data-ga-click="Repository, language stats search click, location:repo overview">
389 <span class="color-block language-color" style="background-color:#555555;"></span>
390 <span class="lang">C</span>
391 <span class="percent">96.5%</span>
392 </a>
393 </li>
394 <li>
395 <a href="/torvalds/linux/search?l=assembly" data-ga-click="Repository, language stats search click, location:repo overview">
396 <span class="color-block language-color" style="background-color:#6E4C13;"></span>
397 <span class="lang">Assembly</span>
398 <span class="percent">1.3%</span>
399 </a>
400 </li>
401 <li>
402 <a href="/torvalds/linux/search?l=c%2B%2B" data-ga-click="Repository, language stats search click, location:repo overview">
403 <span class="color-block language-color" style="background-color:#f34b7d;"></span>
404 <span class="lang">C++</span>
405 <span class="percent">1.3%</span>
406 </a>
407 </li>
408 <li>
409 <a href="/torvalds/linux/search?l=objective-c" data-ga-click="Repository, language stats search click, location:repo overview">
410 <span class="color-block language-color" style="background-color:#438eff;"></span>
411 <span class="lang">Objective-C</span>
412 <span class="percent">0.3%</span>
413 </a>
414 </li>
415 <li>
416 <a href="/torvalds/linux/search?l=makefile" data-ga-click="Repository, language stats search click, location:repo overview">
417 <span class="color-block language-color" style="background-color:#427819;"></span>
418 <span class="lang">Makefile</span>
419 <span class="percent">0.3%</span>
420 </a>
421 </li>
422 <li>
423 <a href="/torvalds/linux/search?l=perl" data-ga-click="Repository, language stats search click, location:repo overview">
424 <span class="color-block language-color" style="background-color:#0298c3;"></span>
425 <span class="lang">Perl</span>
426 <span class="percent">0.1%</span>
427 </a>
428 </li>
429 <li>
430 <span>
431 <span class="color-block language-color" style="background-color:#ededed;"></span>
432 <span class="lang">Other</span>
433 <span class="percent">0.2%</span>
434 </span>
435 </li>
436 </ol>
437 </div>
438 </div>
439 </div>
440 </div>
441
442 <div class="repository-lang-stats-graph js-toggle-lang-stats" title="Click for language details" data-ga-click="Repository, language bar stats toggle, location:repo overview">
443 <span class="language-color" aria-label="C 96.5%" style="width:96.5%; background-color:#555555;" itemprop="keywords">C</span>
444 <span class="language-color" aria-label="Assembly 1.3%" style="width:1.3%; background-color:#6E4C13;" itemprop="keywords">Assembly</span>
445 <span class="language-color" aria-label="C++ 1.3%" style="width:1.3%; background-color:#f34b7d;" itemprop="keywords">C++</span>
446 <span class="language-color" aria-label="Objective-C 0.3%" style="width:0.3%; background-color:#438eff;" itemprop="keywords">Objective-C</span>
447 <span class="language-color" aria-label="Makefile 0.3%" style="width:0.3%; background-color:#427819;" itemprop="keywords">Makefile</span>
448 <span class="language-color" aria-label="Perl 0.1%" style="width:0.1%; background-color:#0298c3;" itemprop="keywords">Perl</span>
449 <span class="language-color" aria-label="Other 0.2%" style="width:0.2%; background-color:#ededed;" itemprop="keywords">Other</span>
450 </div>
451
452
453
454 <div class="file-navigation in-mid-page">
455
456 <details class="get-repo-select-menu js-get-repo-select-menu float-right position-relative dropdown-details details-reset">
457 <summary class="btn btn-sm btn-primary">
458 Clone or download
459 <span class="dropdown-caret"></span>
460 </summary>
461 <div class="position-relative">
462 <div class="get-repo-modal dropdown-menu dropdown-menu-sw pb-0 js-toggler-container js-get-repo-modal">
463
464 <div class="get-repo-modal-options">
465 <div class="clone-options https-clone-options">
466
467 <h4 class="mb-1">
468 Clone with HTTPS
469 <a class="muted-link" href="https://help.github.com/articles/which-remote-url-should-i-use" target="_blank" title="Which remote URL should I use?">
470 <svg class="octicon octicon-question" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 10h2v2H6v-2zm4-3.5C10 8.64 8 9 8 9H6c0-.55.45-1 1-1h.5c.28 0 .5-.22.5-.5v-1c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z"/></svg>
471 </a>
472 </h4>
473 <p class="mb-2 get-repo-decription-text">
474 Use Git or checkout with SVN using the web URL.
475 </p>
476
477 <div class="input-group">
478 <input type="text" class="form-control input-monospace input-sm js-url-field" value="https://github.com/torvalds/linux.git" aria-label="Clone this repository at https://github.com/torvalds/linux.git" readonly>
479 <div class="input-group-button">
480 <clipboard-copy
481 value="https://github.com/torvalds/linux.git"
482 aria-label="Copy to clipboard"
483 class="btn btn-sm tooltipped tooltipped-s"
484 copied-label="Copied!">
485 <svg class="octicon octicon-clippy" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"/></svg>
486 </clipboard-copy>
487 </div>
488</div>
489
490 </div>
491
492 <div class="mt-2">
493 <a href="https://desktop.github.com" class="btn btn-outline get-repo-btn tooltipped tooltipped-s tooltipped-multiline js-get-repo" data-open-app="windows" aria-label="Clone torvalds/linux to your computer and use it in GitHub Desktop.">
494 Open in Desktop
495 </a>
496
497<a href="/torvalds/linux/archive/master.zip"
498 class="btn btn-outline get-repo-btn
499"
500 rel="nofollow"
501 data-ga-click="Repository, download zip, location:repo overview">
502 Download ZIP
503</a>
504
505 </div>
506 </div>
507
508 <div class="js-modal-download-mac py-2 px-3 d-none">
509 <h4 class="lh-condensed mb-3">Launching GitHub Desktop<span class="animated-ellipsis-container"><span class="animated-ellipsis">...</span></span></h4>
510 <p class="text-gray">If nothing happens, <a href="https://desktop.github.com/">download GitHub Desktop</a> and try again.</p>
511 <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p>
512 </div>
513
514 <div class="js-modal-download-windows py-2 px-3 d-none">
515 <h4 class="lh-condensed mb-3">Launching GitHub Desktop<span class="animated-ellipsis-container"><span class="animated-ellipsis">...</span></span></h4>
516 <p class="text-gray">If nothing happens, <a href="https://desktop.github.com/">download GitHub Desktop</a> and try again.</p>
517 <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p>
518 </div>
519
520 <div class="js-modal-download-xcode py-2 px-3 d-none">
521 <h4 class="lh-condensed mb-3">Launching Xcode<span class="animated-ellipsis-container"><span class="animated-ellipsis">...</span></span></h4>
522 <p class="text-gray">If nothing happens, <a href="https://developer.apple.com/xcode/">download Xcode</a> and try again.</p>
523 <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p>
524 </div>
525
526 <div class="js-modal-download-visual-studio py-2 px-3 d-none">
527 <h4 class="lh-condensed mb-3">Launching Visual Studio<span class="animated-ellipsis-container"><span class="animated-ellipsis">...</span></span></h4>
528 <p class="text-gray">If nothing happens, <a href="https://visualstudio.github.com/">download the GitHub extension for Visual Studio</a> and try again.</p>
529 <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p>
530 </div>
531
532 </div>
533 </div>
534</details>
535
536
537 <div class="BtnGroup float-right">
538
539 <a href="/torvalds/linux/find/master"
540 class="btn btn-sm empty-icon float-right BtnGroup-item"
541 data-pjax
542 data-hotkey="t"
543 data-ga-click="Repository, find file, location:repo overview">
544 Find file
545 </a>
546 </div>
547
548
549<div class="select-menu branch-select-menu js-menu-container js-select-menu float-left">
550 <button class=" btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
551
552 type="button" aria-label="Switch branches or tags" aria-expanded="false" aria-haspopup="true">
553 <i>Branch:</i>
554 <span class="js-select-button css-truncate-target">master</span>
555 </button>
556
557 <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax>
558
559 <div class="select-menu-modal">
560 <div class="select-menu-header">
561 <svg class="octicon octicon-x js-menu-close" role="img" aria-label="Close" viewBox="0 0 12 16" version="1.1" width="12" height="16"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
562 <span class="select-menu-title">Switch branches/tags</span>
563 </div>
564
565 <div class="select-menu-filters">
566 <div class="select-menu-text-filter">
567 <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="form-control js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
568 </div>
569 <div class="select-menu-tabs">
570 <ul>
571 <li class="select-menu-tab">
572 <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a>
573 </li>
574 <li class="select-menu-tab">
575 <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a>
576 </li>
577 </ul>
578 </div>
579 </div>
580
581 <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">
582
583 <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
584
585
586 <a class="select-menu-item js-navigation-item js-navigation-open selected"
587 href="/torvalds/linux/tree/master"
588 data-name="master"
589 data-skip-pjax="true"
590 rel="nofollow">
591 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
592 <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
593 master
594 </span>
595 </a>
596 </div>
597
598 <div class="select-menu-no-results">Nothing to show</div>
599 </div>
600
601 <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
602 <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
603
604
605 <a class="select-menu-item js-navigation-item js-navigation-open "
606 href="/torvalds/linux/tree/v4.17-rc1"
607 data-name="v4.17-rc1"
608 data-skip-pjax="true"
609 rel="nofollow">
610 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
611 <span class="select-menu-item-text css-truncate-target" title="v4.17-rc1">
612 v4.17-rc1
613 </span>
614 </a>
615 <a class="select-menu-item js-navigation-item js-navigation-open "
616 href="/torvalds/linux/tree/v4.16"
617 data-name="v4.16"
618 data-skip-pjax="true"
619 rel="nofollow">
620 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
621 <span class="select-menu-item-text css-truncate-target" title="v4.16">
622 v4.16
623 </span>
624 </a>
625 <a class="select-menu-item js-navigation-item js-navigation-open "
626 href="/torvalds/linux/tree/v4.16-rc7"
627 data-name="v4.16-rc7"
628 data-skip-pjax="true"
629 rel="nofollow">
630 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
631 <span class="select-menu-item-text css-truncate-target" title="v4.16-rc7">
632 v4.16-rc7
633 </span>
634 </a>
635 <a class="select-menu-item js-navigation-item js-navigation-open "
636 href="/torvalds/linux/tree/v4.16-rc6"
637 data-name="v4.16-rc6"
638 data-skip-pjax="true"
639 rel="nofollow">
640 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
641 <span class="select-menu-item-text css-truncate-target" title="v4.16-rc6">
642 v4.16-rc6
643 </span>
644 </a>
645 <a class="select-menu-item js-navigation-item js-navigation-open "
646 href="/torvalds/linux/tree/v4.16-rc5"
647 data-name="v4.16-rc5"
648 data-skip-pjax="true"
649 rel="nofollow">
650 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
651 <span class="select-menu-item-text css-truncate-target" title="v4.16-rc5">
652 v4.16-rc5
653 </span>
654 </a>
655 <a class="select-menu-item js-navigation-item js-navigation-open "
656 href="/torvalds/linux/tree/v4.16-rc4"
657 data-name="v4.16-rc4"
658 data-skip-pjax="true"
659 rel="nofollow">
660 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
661 <span class="select-menu-item-text css-truncate-target" title="v4.16-rc4">
662 v4.16-rc4
663 </span>
664 </a>
665 <a class="select-menu-item js-navigation-item js-navigation-open "
666 href="/torvalds/linux/tree/v4.16-rc3"
667 data-name="v4.16-rc3"
668 data-skip-pjax="true"
669 rel="nofollow">
670 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
671 <span class="select-menu-item-text css-truncate-target" title="v4.16-rc3">
672 v4.16-rc3
673 </span>
674 </a>
675 <a class="select-menu-item js-navigation-item js-navigation-open "
676 href="/torvalds/linux/tree/v4.16-rc2"
677 data-name="v4.16-rc2"
678 data-skip-pjax="true"
679 rel="nofollow">
680 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
681 <span class="select-menu-item-text css-truncate-target" title="v4.16-rc2">
682 v4.16-rc2
683 </span>
684 </a>
685 <a class="select-menu-item js-navigation-item js-navigation-open "
686 href="/torvalds/linux/tree/v4.16-rc1"
687 data-name="v4.16-rc1"
688 data-skip-pjax="true"
689 rel="nofollow">
690 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
691 <span class="select-menu-item-text css-truncate-target" title="v4.16-rc1">
692 v4.16-rc1
693 </span>
694 </a>
695 <a class="select-menu-item js-navigation-item js-navigation-open "
696 href="/torvalds/linux/tree/v4.15"
697 data-name="v4.15"
698 data-skip-pjax="true"
699 rel="nofollow">
700 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
701 <span class="select-menu-item-text css-truncate-target" title="v4.15">
702 v4.15
703 </span>
704 </a>
705 <a class="select-menu-item js-navigation-item js-navigation-open "
706 href="/torvalds/linux/tree/v4.15-rc9"
707 data-name="v4.15-rc9"
708 data-skip-pjax="true"
709 rel="nofollow">
710 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
711 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc9">
712 v4.15-rc9
713 </span>
714 </a>
715 <a class="select-menu-item js-navigation-item js-navigation-open "
716 href="/torvalds/linux/tree/v4.15-rc8"
717 data-name="v4.15-rc8"
718 data-skip-pjax="true"
719 rel="nofollow">
720 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
721 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc8">
722 v4.15-rc8
723 </span>
724 </a>
725 <a class="select-menu-item js-navigation-item js-navigation-open "
726 href="/torvalds/linux/tree/v4.15-rc7"
727 data-name="v4.15-rc7"
728 data-skip-pjax="true"
729 rel="nofollow">
730 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
731 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc7">
732 v4.15-rc7
733 </span>
734 </a>
735 <a class="select-menu-item js-navigation-item js-navigation-open "
736 href="/torvalds/linux/tree/v4.15-rc6"
737 data-name="v4.15-rc6"
738 data-skip-pjax="true"
739 rel="nofollow">
740 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
741 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc6">
742 v4.15-rc6
743 </span>
744 </a>
745 <a class="select-menu-item js-navigation-item js-navigation-open "
746 href="/torvalds/linux/tree/v4.15-rc5"
747 data-name="v4.15-rc5"
748 data-skip-pjax="true"
749 rel="nofollow">
750 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
751 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc5">
752 v4.15-rc5
753 </span>
754 </a>
755 <a class="select-menu-item js-navigation-item js-navigation-open "
756 href="/torvalds/linux/tree/v4.15-rc4"
757 data-name="v4.15-rc4"
758 data-skip-pjax="true"
759 rel="nofollow">
760 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
761 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc4">
762 v4.15-rc4
763 </span>
764 </a>
765 <a class="select-menu-item js-navigation-item js-navigation-open "
766 href="/torvalds/linux/tree/v4.15-rc3"
767 data-name="v4.15-rc3"
768 data-skip-pjax="true"
769 rel="nofollow">
770 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
771 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc3">
772 v4.15-rc3
773 </span>
774 </a>
775 <a class="select-menu-item js-navigation-item js-navigation-open "
776 href="/torvalds/linux/tree/v4.15-rc2"
777 data-name="v4.15-rc2"
778 data-skip-pjax="true"
779 rel="nofollow">
780 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
781 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc2">
782 v4.15-rc2
783 </span>
784 </a>
785 <a class="select-menu-item js-navigation-item js-navigation-open "
786 href="/torvalds/linux/tree/v4.15-rc1"
787 data-name="v4.15-rc1"
788 data-skip-pjax="true"
789 rel="nofollow">
790 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
791 <span class="select-menu-item-text css-truncate-target" title="v4.15-rc1">
792 v4.15-rc1
793 </span>
794 </a>
795 <a class="select-menu-item js-navigation-item js-navigation-open "
796 href="/torvalds/linux/tree/v4.14"
797 data-name="v4.14"
798 data-skip-pjax="true"
799 rel="nofollow">
800 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
801 <span class="select-menu-item-text css-truncate-target" title="v4.14">
802 v4.14
803 </span>
804 </a>
805 <a class="select-menu-item js-navigation-item js-navigation-open "
806 href="/torvalds/linux/tree/v4.14-rc8"
807 data-name="v4.14-rc8"
808 data-skip-pjax="true"
809 rel="nofollow">
810 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
811 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc8">
812 v4.14-rc8
813 </span>
814 </a>
815 <a class="select-menu-item js-navigation-item js-navigation-open "
816 href="/torvalds/linux/tree/v4.14-rc7"
817 data-name="v4.14-rc7"
818 data-skip-pjax="true"
819 rel="nofollow">
820 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
821 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc7">
822 v4.14-rc7
823 </span>
824 </a>
825 <a class="select-menu-item js-navigation-item js-navigation-open "
826 href="/torvalds/linux/tree/v4.14-rc6"
827 data-name="v4.14-rc6"
828 data-skip-pjax="true"
829 rel="nofollow">
830 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
831 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc6">
832 v4.14-rc6
833 </span>
834 </a>
835 <a class="select-menu-item js-navigation-item js-navigation-open "
836 href="/torvalds/linux/tree/v4.14-rc5"
837 data-name="v4.14-rc5"
838 data-skip-pjax="true"
839 rel="nofollow">
840 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
841 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc5">
842 v4.14-rc5
843 </span>
844 </a>
845 <a class="select-menu-item js-navigation-item js-navigation-open "
846 href="/torvalds/linux/tree/v4.14-rc4"
847 data-name="v4.14-rc4"
848 data-skip-pjax="true"
849 rel="nofollow">
850 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
851 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc4">
852 v4.14-rc4
853 </span>
854 </a>
855 <a class="select-menu-item js-navigation-item js-navigation-open "
856 href="/torvalds/linux/tree/v4.14-rc3"
857 data-name="v4.14-rc3"
858 data-skip-pjax="true"
859 rel="nofollow">
860 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
861 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc3">
862 v4.14-rc3
863 </span>
864 </a>
865 <a class="select-menu-item js-navigation-item js-navigation-open "
866 href="/torvalds/linux/tree/v4.14-rc2"
867 data-name="v4.14-rc2"
868 data-skip-pjax="true"
869 rel="nofollow">
870 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
871 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc2">
872 v4.14-rc2
873 </span>
874 </a>
875 <a class="select-menu-item js-navigation-item js-navigation-open "
876 href="/torvalds/linux/tree/v4.14-rc1"
877 data-name="v4.14-rc1"
878 data-skip-pjax="true"
879 rel="nofollow">
880 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
881 <span class="select-menu-item-text css-truncate-target" title="v4.14-rc1">
882 v4.14-rc1
883 </span>
884 </a>
885 <a class="select-menu-item js-navigation-item js-navigation-open "
886 href="/torvalds/linux/tree/v4.13"
887 data-name="v4.13"
888 data-skip-pjax="true"
889 rel="nofollow">
890 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
891 <span class="select-menu-item-text css-truncate-target" title="v4.13">
892 v4.13
893 </span>
894 </a>
895 <a class="select-menu-item js-navigation-item js-navigation-open "
896 href="/torvalds/linux/tree/v4.13-rc7"
897 data-name="v4.13-rc7"
898 data-skip-pjax="true"
899 rel="nofollow">
900 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
901 <span class="select-menu-item-text css-truncate-target" title="v4.13-rc7">
902 v4.13-rc7
903 </span>
904 </a>
905 <a class="select-menu-item js-navigation-item js-navigation-open "
906 href="/torvalds/linux/tree/v4.13-rc6"
907 data-name="v4.13-rc6"
908 data-skip-pjax="true"
909 rel="nofollow">
910 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
911 <span class="select-menu-item-text css-truncate-target" title="v4.13-rc6">
912 v4.13-rc6
913 </span>
914 </a>
915 <a class="select-menu-item js-navigation-item js-navigation-open "
916 href="/torvalds/linux/tree/v4.13-rc5"
917 data-name="v4.13-rc5"
918 data-skip-pjax="true"
919 rel="nofollow">
920 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
921 <span class="select-menu-item-text css-truncate-target" title="v4.13-rc5">
922 v4.13-rc5
923 </span>
924 </a>
925 <a class="select-menu-item js-navigation-item js-navigation-open "
926 href="/torvalds/linux/tree/v4.13-rc4"
927 data-name="v4.13-rc4"
928 data-skip-pjax="true"
929 rel="nofollow">
930 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
931 <span class="select-menu-item-text css-truncate-target" title="v4.13-rc4">
932 v4.13-rc4
933 </span>
934 </a>
935 <a class="select-menu-item js-navigation-item js-navigation-open "
936 href="/torvalds/linux/tree/v4.13-rc3"
937 data-name="v4.13-rc3"
938 data-skip-pjax="true"
939 rel="nofollow">
940 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
941 <span class="select-menu-item-text css-truncate-target" title="v4.13-rc3">
942 v4.13-rc3
943 </span>
944 </a>
945 <a class="select-menu-item js-navigation-item js-navigation-open "
946 href="/torvalds/linux/tree/v4.13-rc2"
947 data-name="v4.13-rc2"
948 data-skip-pjax="true"
949 rel="nofollow">
950 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
951 <span class="select-menu-item-text css-truncate-target" title="v4.13-rc2">
952 v4.13-rc2
953 </span>
954 </a>
955 <a class="select-menu-item js-navigation-item js-navigation-open "
956 href="/torvalds/linux/tree/v4.13-rc1"
957 data-name="v4.13-rc1"
958 data-skip-pjax="true"
959 rel="nofollow">
960 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
961 <span class="select-menu-item-text css-truncate-target" title="v4.13-rc1">
962 v4.13-rc1
963 </span>
964 </a>
965 <a class="select-menu-item js-navigation-item js-navigation-open "
966 href="/torvalds/linux/tree/v4.12"
967 data-name="v4.12"
968 data-skip-pjax="true"
969 rel="nofollow">
970 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
971 <span class="select-menu-item-text css-truncate-target" title="v4.12">
972 v4.12
973 </span>
974 </a>
975 <a class="select-menu-item js-navigation-item js-navigation-open "
976 href="/torvalds/linux/tree/v4.12-rc7"
977 data-name="v4.12-rc7"
978 data-skip-pjax="true"
979 rel="nofollow">
980 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
981 <span class="select-menu-item-text css-truncate-target" title="v4.12-rc7">
982 v4.12-rc7
983 </span>
984 </a>
985 <a class="select-menu-item js-navigation-item js-navigation-open "
986 href="/torvalds/linux/tree/v4.12-rc6"
987 data-name="v4.12-rc6"
988 data-skip-pjax="true"
989 rel="nofollow">
990 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
991 <span class="select-menu-item-text css-truncate-target" title="v4.12-rc6">
992 v4.12-rc6
993 </span>
994 </a>
995 <a class="select-menu-item js-navigation-item js-navigation-open "
996 href="/torvalds/linux/tree/v4.12-rc5"
997 data-name="v4.12-rc5"
998 data-skip-pjax="true"
999 rel="nofollow">
1000 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1001 <span class="select-menu-item-text css-truncate-target" title="v4.12-rc5">
1002 v4.12-rc5
1003 </span>
1004 </a>
1005 <a class="select-menu-item js-navigation-item js-navigation-open "
1006 href="/torvalds/linux/tree/v4.12-rc4"
1007 data-name="v4.12-rc4"
1008 data-skip-pjax="true"
1009 rel="nofollow">
1010 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1011 <span class="select-menu-item-text css-truncate-target" title="v4.12-rc4">
1012 v4.12-rc4
1013 </span>
1014 </a>
1015 <a class="select-menu-item js-navigation-item js-navigation-open "
1016 href="/torvalds/linux/tree/v4.12-rc3"
1017 data-name="v4.12-rc3"
1018 data-skip-pjax="true"
1019 rel="nofollow">
1020 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1021 <span class="select-menu-item-text css-truncate-target" title="v4.12-rc3">
1022 v4.12-rc3
1023 </span>
1024 </a>
1025 <a class="select-menu-item js-navigation-item js-navigation-open "
1026 href="/torvalds/linux/tree/v4.12-rc2"
1027 data-name="v4.12-rc2"
1028 data-skip-pjax="true"
1029 rel="nofollow">
1030 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1031 <span class="select-menu-item-text css-truncate-target" title="v4.12-rc2">
1032 v4.12-rc2
1033 </span>
1034 </a>
1035 <a class="select-menu-item js-navigation-item js-navigation-open "
1036 href="/torvalds/linux/tree/v4.12-rc1"
1037 data-name="v4.12-rc1"
1038 data-skip-pjax="true"
1039 rel="nofollow">
1040 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1041 <span class="select-menu-item-text css-truncate-target" title="v4.12-rc1">
1042 v4.12-rc1
1043 </span>
1044 </a>
1045 <a class="select-menu-item js-navigation-item js-navigation-open "
1046 href="/torvalds/linux/tree/v4.11"
1047 data-name="v4.11"
1048 data-skip-pjax="true"
1049 rel="nofollow">
1050 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1051 <span class="select-menu-item-text css-truncate-target" title="v4.11">
1052 v4.11
1053 </span>
1054 </a>
1055 <a class="select-menu-item js-navigation-item js-navigation-open "
1056 href="/torvalds/linux/tree/v4.11-rc8"
1057 data-name="v4.11-rc8"
1058 data-skip-pjax="true"
1059 rel="nofollow">
1060 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1061 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc8">
1062 v4.11-rc8
1063 </span>
1064 </a>
1065 <a class="select-menu-item js-navigation-item js-navigation-open "
1066 href="/torvalds/linux/tree/v4.11-rc7"
1067 data-name="v4.11-rc7"
1068 data-skip-pjax="true"
1069 rel="nofollow">
1070 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1071 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc7">
1072 v4.11-rc7
1073 </span>
1074 </a>
1075 <a class="select-menu-item js-navigation-item js-navigation-open "
1076 href="/torvalds/linux/tree/v4.11-rc6"
1077 data-name="v4.11-rc6"
1078 data-skip-pjax="true"
1079 rel="nofollow">
1080 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1081 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc6">
1082 v4.11-rc6
1083 </span>
1084 </a>
1085 <a class="select-menu-item js-navigation-item js-navigation-open "
1086 href="/torvalds/linux/tree/v4.11-rc5"
1087 data-name="v4.11-rc5"
1088 data-skip-pjax="true"
1089 rel="nofollow">
1090 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1091 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc5">
1092 v4.11-rc5
1093 </span>
1094 </a>
1095 <a class="select-menu-item js-navigation-item js-navigation-open "
1096 href="/torvalds/linux/tree/v4.11-rc4"
1097 data-name="v4.11-rc4"
1098 data-skip-pjax="true"
1099 rel="nofollow">
1100 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1101 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc4">
1102 v4.11-rc4
1103 </span>
1104 </a>
1105 <a class="select-menu-item js-navigation-item js-navigation-open "
1106 href="/torvalds/linux/tree/v4.11-rc3"
1107 data-name="v4.11-rc3"
1108 data-skip-pjax="true"
1109 rel="nofollow">
1110 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1111 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc3">
1112 v4.11-rc3
1113 </span>
1114 </a>
1115 <a class="select-menu-item js-navigation-item js-navigation-open "
1116 href="/torvalds/linux/tree/v4.11-rc2"
1117 data-name="v4.11-rc2"
1118 data-skip-pjax="true"
1119 rel="nofollow">
1120 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1121 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc2">
1122 v4.11-rc2
1123 </span>
1124 </a>
1125 <a class="select-menu-item js-navigation-item js-navigation-open "
1126 href="/torvalds/linux/tree/v4.11-rc1"
1127 data-name="v4.11-rc1"
1128 data-skip-pjax="true"
1129 rel="nofollow">
1130 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1131 <span class="select-menu-item-text css-truncate-target" title="v4.11-rc1">
1132 v4.11-rc1
1133 </span>
1134 </a>
1135 <a class="select-menu-item js-navigation-item js-navigation-open "
1136 href="/torvalds/linux/tree/v4.10"
1137 data-name="v4.10"
1138 data-skip-pjax="true"
1139 rel="nofollow">
1140 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1141 <span class="select-menu-item-text css-truncate-target" title="v4.10">
1142 v4.10
1143 </span>
1144 </a>
1145 <a class="select-menu-item js-navigation-item js-navigation-open "
1146 href="/torvalds/linux/tree/v4.10-rc8"
1147 data-name="v4.10-rc8"
1148 data-skip-pjax="true"
1149 rel="nofollow">
1150 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1151 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc8">
1152 v4.10-rc8
1153 </span>
1154 </a>
1155 <a class="select-menu-item js-navigation-item js-navigation-open "
1156 href="/torvalds/linux/tree/v4.10-rc7"
1157 data-name="v4.10-rc7"
1158 data-skip-pjax="true"
1159 rel="nofollow">
1160 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1161 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc7">
1162 v4.10-rc7
1163 </span>
1164 </a>
1165 <a class="select-menu-item js-navigation-item js-navigation-open "
1166 href="/torvalds/linux/tree/v4.10-rc6"
1167 data-name="v4.10-rc6"
1168 data-skip-pjax="true"
1169 rel="nofollow">
1170 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1171 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc6">
1172 v4.10-rc6
1173 </span>
1174 </a>
1175 <a class="select-menu-item js-navigation-item js-navigation-open "
1176 href="/torvalds/linux/tree/v4.10-rc5"
1177 data-name="v4.10-rc5"
1178 data-skip-pjax="true"
1179 rel="nofollow">
1180 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1181 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc5">
1182 v4.10-rc5
1183 </span>
1184 </a>
1185 <a class="select-menu-item js-navigation-item js-navigation-open "
1186 href="/torvalds/linux/tree/v4.10-rc4"
1187 data-name="v4.10-rc4"
1188 data-skip-pjax="true"
1189 rel="nofollow">
1190 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1191 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc4">
1192 v4.10-rc4
1193 </span>
1194 </a>
1195 <a class="select-menu-item js-navigation-item js-navigation-open "
1196 href="/torvalds/linux/tree/v4.10-rc3"
1197 data-name="v4.10-rc3"
1198 data-skip-pjax="true"
1199 rel="nofollow">
1200 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1201 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc3">
1202 v4.10-rc3
1203 </span>
1204 </a>
1205 <a class="select-menu-item js-navigation-item js-navigation-open "
1206 href="/torvalds/linux/tree/v4.10-rc2"
1207 data-name="v4.10-rc2"
1208 data-skip-pjax="true"
1209 rel="nofollow">
1210 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1211 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc2">
1212 v4.10-rc2
1213 </span>
1214 </a>
1215 <a class="select-menu-item js-navigation-item js-navigation-open "
1216 href="/torvalds/linux/tree/v4.10-rc1"
1217 data-name="v4.10-rc1"
1218 data-skip-pjax="true"
1219 rel="nofollow">
1220 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1221 <span class="select-menu-item-text css-truncate-target" title="v4.10-rc1">
1222 v4.10-rc1
1223 </span>
1224 </a>
1225 <a class="select-menu-item js-navigation-item js-navigation-open "
1226 href="/torvalds/linux/tree/v4.9"
1227 data-name="v4.9"
1228 data-skip-pjax="true"
1229 rel="nofollow">
1230 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1231 <span class="select-menu-item-text css-truncate-target" title="v4.9">
1232 v4.9
1233 </span>
1234 </a>
1235 <a class="select-menu-item js-navigation-item js-navigation-open "
1236 href="/torvalds/linux/tree/v4.9-rc8"
1237 data-name="v4.9-rc8"
1238 data-skip-pjax="true"
1239 rel="nofollow">
1240 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1241 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc8">
1242 v4.9-rc8
1243 </span>
1244 </a>
1245 <a class="select-menu-item js-navigation-item js-navigation-open "
1246 href="/torvalds/linux/tree/v4.9-rc7"
1247 data-name="v4.9-rc7"
1248 data-skip-pjax="true"
1249 rel="nofollow">
1250 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1251 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc7">
1252 v4.9-rc7
1253 </span>
1254 </a>
1255 <a class="select-menu-item js-navigation-item js-navigation-open "
1256 href="/torvalds/linux/tree/v4.9-rc6"
1257 data-name="v4.9-rc6"
1258 data-skip-pjax="true"
1259 rel="nofollow">
1260 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1261 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc6">
1262 v4.9-rc6
1263 </span>
1264 </a>
1265 <a class="select-menu-item js-navigation-item js-navigation-open "
1266 href="/torvalds/linux/tree/v4.9-rc5"
1267 data-name="v4.9-rc5"
1268 data-skip-pjax="true"
1269 rel="nofollow">
1270 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1271 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc5">
1272 v4.9-rc5
1273 </span>
1274 </a>
1275 <a class="select-menu-item js-navigation-item js-navigation-open "
1276 href="/torvalds/linux/tree/v4.9-rc4"
1277 data-name="v4.9-rc4"
1278 data-skip-pjax="true"
1279 rel="nofollow">
1280 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1281 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc4">
1282 v4.9-rc4
1283 </span>
1284 </a>
1285 <a class="select-menu-item js-navigation-item js-navigation-open "
1286 href="/torvalds/linux/tree/v4.9-rc3"
1287 data-name="v4.9-rc3"
1288 data-skip-pjax="true"
1289 rel="nofollow">
1290 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1291 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc3">
1292 v4.9-rc3
1293 </span>
1294 </a>
1295 <a class="select-menu-item js-navigation-item js-navigation-open "
1296 href="/torvalds/linux/tree/v4.9-rc2"
1297 data-name="v4.9-rc2"
1298 data-skip-pjax="true"
1299 rel="nofollow">
1300 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1301 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc2">
1302 v4.9-rc2
1303 </span>
1304 </a>
1305 <a class="select-menu-item js-navigation-item js-navigation-open "
1306 href="/torvalds/linux/tree/v4.9-rc1"
1307 data-name="v4.9-rc1"
1308 data-skip-pjax="true"
1309 rel="nofollow">
1310 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1311 <span class="select-menu-item-text css-truncate-target" title="v4.9-rc1">
1312 v4.9-rc1
1313 </span>
1314 </a>
1315 <a class="select-menu-item js-navigation-item js-navigation-open "
1316 href="/torvalds/linux/tree/v4.8"
1317 data-name="v4.8"
1318 data-skip-pjax="true"
1319 rel="nofollow">
1320 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1321 <span class="select-menu-item-text css-truncate-target" title="v4.8">
1322 v4.8
1323 </span>
1324 </a>
1325 <a class="select-menu-item js-navigation-item js-navigation-open "
1326 href="/torvalds/linux/tree/v4.8-rc8"
1327 data-name="v4.8-rc8"
1328 data-skip-pjax="true"
1329 rel="nofollow">
1330 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1331 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc8">
1332 v4.8-rc8
1333 </span>
1334 </a>
1335 <a class="select-menu-item js-navigation-item js-navigation-open "
1336 href="/torvalds/linux/tree/v4.8-rc7"
1337 data-name="v4.8-rc7"
1338 data-skip-pjax="true"
1339 rel="nofollow">
1340 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1341 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc7">
1342 v4.8-rc7
1343 </span>
1344 </a>
1345 <a class="select-menu-item js-navigation-item js-navigation-open "
1346 href="/torvalds/linux/tree/v4.8-rc6"
1347 data-name="v4.8-rc6"
1348 data-skip-pjax="true"
1349 rel="nofollow">
1350 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1351 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc6">
1352 v4.8-rc6
1353 </span>
1354 </a>
1355 <a class="select-menu-item js-navigation-item js-navigation-open "
1356 href="/torvalds/linux/tree/v4.8-rc5"
1357 data-name="v4.8-rc5"
1358 data-skip-pjax="true"
1359 rel="nofollow">
1360 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1361 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc5">
1362 v4.8-rc5
1363 </span>
1364 </a>
1365 <a class="select-menu-item js-navigation-item js-navigation-open "
1366 href="/torvalds/linux/tree/v4.8-rc4"
1367 data-name="v4.8-rc4"
1368 data-skip-pjax="true"
1369 rel="nofollow">
1370 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1371 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc4">
1372 v4.8-rc4
1373 </span>
1374 </a>
1375 <a class="select-menu-item js-navigation-item js-navigation-open "
1376 href="/torvalds/linux/tree/v4.8-rc3"
1377 data-name="v4.8-rc3"
1378 data-skip-pjax="true"
1379 rel="nofollow">
1380 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1381 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc3">
1382 v4.8-rc3
1383 </span>
1384 </a>
1385 <a class="select-menu-item js-navigation-item js-navigation-open "
1386 href="/torvalds/linux/tree/v4.8-rc2"
1387 data-name="v4.8-rc2"
1388 data-skip-pjax="true"
1389 rel="nofollow">
1390 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1391 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc2">
1392 v4.8-rc2
1393 </span>
1394 </a>
1395 <a class="select-menu-item js-navigation-item js-navigation-open "
1396 href="/torvalds/linux/tree/v4.8-rc1"
1397 data-name="v4.8-rc1"
1398 data-skip-pjax="true"
1399 rel="nofollow">
1400 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1401 <span class="select-menu-item-text css-truncate-target" title="v4.8-rc1">
1402 v4.8-rc1
1403 </span>
1404 </a>
1405 <a class="select-menu-item js-navigation-item js-navigation-open "
1406 href="/torvalds/linux/tree/v4.7"
1407 data-name="v4.7"
1408 data-skip-pjax="true"
1409 rel="nofollow">
1410 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1411 <span class="select-menu-item-text css-truncate-target" title="v4.7">
1412 v4.7
1413 </span>
1414 </a>
1415 <a class="select-menu-item js-navigation-item js-navigation-open "
1416 href="/torvalds/linux/tree/v4.7-rc7"
1417 data-name="v4.7-rc7"
1418 data-skip-pjax="true"
1419 rel="nofollow">
1420 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1421 <span class="select-menu-item-text css-truncate-target" title="v4.7-rc7">
1422 v4.7-rc7
1423 </span>
1424 </a>
1425 <a class="select-menu-item js-navigation-item js-navigation-open "
1426 href="/torvalds/linux/tree/v4.7-rc6"
1427 data-name="v4.7-rc6"
1428 data-skip-pjax="true"
1429 rel="nofollow">
1430 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1431 <span class="select-menu-item-text css-truncate-target" title="v4.7-rc6">
1432 v4.7-rc6
1433 </span>
1434 </a>
1435 <a class="select-menu-item js-navigation-item js-navigation-open "
1436 href="/torvalds/linux/tree/v4.7-rc5"
1437 data-name="v4.7-rc5"
1438 data-skip-pjax="true"
1439 rel="nofollow">
1440 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1441 <span class="select-menu-item-text css-truncate-target" title="v4.7-rc5">
1442 v4.7-rc5
1443 </span>
1444 </a>
1445 <a class="select-menu-item js-navigation-item js-navigation-open "
1446 href="/torvalds/linux/tree/v4.7-rc4"
1447 data-name="v4.7-rc4"
1448 data-skip-pjax="true"
1449 rel="nofollow">
1450 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1451 <span class="select-menu-item-text css-truncate-target" title="v4.7-rc4">
1452 v4.7-rc4
1453 </span>
1454 </a>
1455 <a class="select-menu-item js-navigation-item js-navigation-open "
1456 href="/torvalds/linux/tree/v4.7-rc3"
1457 data-name="v4.7-rc3"
1458 data-skip-pjax="true"
1459 rel="nofollow">
1460 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1461 <span class="select-menu-item-text css-truncate-target" title="v4.7-rc3">
1462 v4.7-rc3
1463 </span>
1464 </a>
1465 <a class="select-menu-item js-navigation-item js-navigation-open "
1466 href="/torvalds/linux/tree/v4.7-rc2"
1467 data-name="v4.7-rc2"
1468 data-skip-pjax="true"
1469 rel="nofollow">
1470 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1471 <span class="select-menu-item-text css-truncate-target" title="v4.7-rc2">
1472 v4.7-rc2
1473 </span>
1474 </a>
1475 <a class="select-menu-item js-navigation-item js-navigation-open "
1476 href="/torvalds/linux/tree/v4.7-rc1"
1477 data-name="v4.7-rc1"
1478 data-skip-pjax="true"
1479 rel="nofollow">
1480 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1481 <span class="select-menu-item-text css-truncate-target" title="v4.7-rc1">
1482 v4.7-rc1
1483 </span>
1484 </a>
1485 <a class="select-menu-item js-navigation-item js-navigation-open "
1486 href="/torvalds/linux/tree/v4.6"
1487 data-name="v4.6"
1488 data-skip-pjax="true"
1489 rel="nofollow">
1490 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1491 <span class="select-menu-item-text css-truncate-target" title="v4.6">
1492 v4.6
1493 </span>
1494 </a>
1495 <a class="select-menu-item js-navigation-item js-navigation-open "
1496 href="/torvalds/linux/tree/v4.6-rc7"
1497 data-name="v4.6-rc7"
1498 data-skip-pjax="true"
1499 rel="nofollow">
1500 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1501 <span class="select-menu-item-text css-truncate-target" title="v4.6-rc7">
1502 v4.6-rc7
1503 </span>
1504 </a>
1505 <a class="select-menu-item js-navigation-item js-navigation-open "
1506 href="/torvalds/linux/tree/v4.6-rc6"
1507 data-name="v4.6-rc6"
1508 data-skip-pjax="true"
1509 rel="nofollow">
1510 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1511 <span class="select-menu-item-text css-truncate-target" title="v4.6-rc6">
1512 v4.6-rc6
1513 </span>
1514 </a>
1515 <a class="select-menu-item js-navigation-item js-navigation-open "
1516 href="/torvalds/linux/tree/v4.6-rc5"
1517 data-name="v4.6-rc5"
1518 data-skip-pjax="true"
1519 rel="nofollow">
1520 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1521 <span class="select-menu-item-text css-truncate-target" title="v4.6-rc5">
1522 v4.6-rc5
1523 </span>
1524 </a>
1525 <a class="select-menu-item js-navigation-item js-navigation-open "
1526 href="/torvalds/linux/tree/v4.6-rc4"
1527 data-name="v4.6-rc4"
1528 data-skip-pjax="true"
1529 rel="nofollow">
1530 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1531 <span class="select-menu-item-text css-truncate-target" title="v4.6-rc4">
1532 v4.6-rc4
1533 </span>
1534 </a>
1535 <a class="select-menu-item js-navigation-item js-navigation-open "
1536 href="/torvalds/linux/tree/v4.6-rc3"
1537 data-name="v4.6-rc3"
1538 data-skip-pjax="true"
1539 rel="nofollow">
1540 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1541 <span class="select-menu-item-text css-truncate-target" title="v4.6-rc3">
1542 v4.6-rc3
1543 </span>
1544 </a>
1545 <a class="select-menu-item js-navigation-item js-navigation-open "
1546 href="/torvalds/linux/tree/v4.6-rc2"
1547 data-name="v4.6-rc2"
1548 data-skip-pjax="true"
1549 rel="nofollow">
1550 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1551 <span class="select-menu-item-text css-truncate-target" title="v4.6-rc2">
1552 v4.6-rc2
1553 </span>
1554 </a>
1555 <a class="select-menu-item js-navigation-item js-navigation-open "
1556 href="/torvalds/linux/tree/v4.6-rc1"
1557 data-name="v4.6-rc1"
1558 data-skip-pjax="true"
1559 rel="nofollow">
1560 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1561 <span class="select-menu-item-text css-truncate-target" title="v4.6-rc1">
1562 v4.6-rc1
1563 </span>
1564 </a>
1565 <a class="select-menu-item js-navigation-item js-navigation-open "
1566 href="/torvalds/linux/tree/v4.5"
1567 data-name="v4.5"
1568 data-skip-pjax="true"
1569 rel="nofollow">
1570 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1571 <span class="select-menu-item-text css-truncate-target" title="v4.5">
1572 v4.5
1573 </span>
1574 </a>
1575 <a class="select-menu-item js-navigation-item js-navigation-open "
1576 href="/torvalds/linux/tree/v4.5-rc7"
1577 data-name="v4.5-rc7"
1578 data-skip-pjax="true"
1579 rel="nofollow">
1580 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1581 <span class="select-menu-item-text css-truncate-target" title="v4.5-rc7">
1582 v4.5-rc7
1583 </span>
1584 </a>
1585 <a class="select-menu-item js-navigation-item js-navigation-open "
1586 href="/torvalds/linux/tree/v4.5-rc6"
1587 data-name="v4.5-rc6"
1588 data-skip-pjax="true"
1589 rel="nofollow">
1590 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1591 <span class="select-menu-item-text css-truncate-target" title="v4.5-rc6">
1592 v4.5-rc6
1593 </span>
1594 </a>
1595 <a class="select-menu-item js-navigation-item js-navigation-open "
1596 href="/torvalds/linux/tree/v4.5-rc5"
1597 data-name="v4.5-rc5"
1598 data-skip-pjax="true"
1599 rel="nofollow">
1600 <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
1601 <span class="select-menu-item-text css-truncate-target" title="v4.5-rc5">
1602 v4.5-rc5
1603 </span>
1604 </a>
1605 </div>
1606
1607 <div class="select-menu-no-results">Nothing to show</div>
1608 </div>
1609
1610 </div>
1611 </div>
1612</div>
1613
1614
1615 <button type="button" class="btn btn-sm disabled tooltipped tooltipped-n new-pull-request-btn" aria-label="You must be signed in to create a pull request">
1616 New pull request
1617 </button>
1618
1619 <div class="breadcrumb">
1620
1621 </div>
1622</div>
1623
1624
1625
1626
1627<include-fragment src="/torvalds/linux/tree-commit/a27fc14219f2e3c4a46ba9177b04d9b52c875532" class="commit-tease commit-loader">
1628 <div class="blank">
1629 <img alt="" class="loader" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32-EAF2F5.gif" width="16" height="16" />
1630 Fetching latest commit…
1631 </div>
1632 <div class="loader-error">
1633 Cannot retrieve the latest commit at this time.
1634 </div>
1635</include-fragment>
1636
1637
1638<div class="file-wrap">
1639
1640 <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/torvalds/linux/tree/a27fc14219f2e3c4a46ba9177b04d9b52c875532">Permalink</a>
1641
1642 <table class="files js-navigation-container js-active-navigation-container" data-pjax>
1643
1644
1645 <tbody>
1646 <tr class="warning include-fragment-error">
1647 <td class="icon"><svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg></td>
1648 <td class="content" colspan="3">Failed to load latest commit information.</td>
1649 </tr>
1650
1651 <tr class="js-navigation-item">
1652 <td class="icon">
1653 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1654 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1655 </td>
1656 <td class="content">
1657 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="Documentation" id="5b6cf869265c13af8566f192b4ab3d2a-618516ad26ed2e3f98e081de67e944910caea6be" href="/torvalds/linux/tree/master/Documentation">Documentation</a></span>
1658 </td>
1659 <td class="message">
1660 <span class="css-truncate css-truncate-target">
1661 <a data-pjax="true" title="Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
1662
1663Pull missed timer updates from Thomas Gleixner:
1664 "This is a branch which got forgotten during the merge window, but it
1665 contains only fixes and hardware enablement. No fundamental changes.
1666
1667 - Various fixes for the imx-tpm clocksource driver
1668
1669 - A new timer driver for the NCPM7xx SoC family"
1670
1671* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
1672 clocksource/drivers/imx-tpm: Add different counter width support
1673 clocksource/drivers/imx-tpm: Correct some registers operation flow
1674 clocksource/drivers/imx-tpm: Fix typo of clock name
1675 dt-bindings: timer: tpm: fix typo of clock name
1676 clocksource/drivers/npcm: Add NPCM7xx timer driver
1677 dt-binding: timer: document NPCM7xx timer DT bindings" class="message" href="/torvalds/linux/commit/d95c8844399885cd511c6f6395621cc1a9fe2e68">Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/…</a>
1678 </span>
1679 </td>
1680 <td class="age">
1681 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T19:44:03Z">Apr 16, 2018</time-ago></span>
1682 </td>
1683 </tr>
1684 <tr class="js-navigation-item">
1685 <td class="icon">
1686 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1687 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1688 </td>
1689 <td class="content">
1690 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="LICENSES" id="7cdfd31383b30b3a880b4a6b5e8d28fa-ebd4032d57c18fee961bad770a6319718eb3b1c3" href="/torvalds/linux/tree/master/LICENSES">LICENSES</a></span>
1691 </td>
1692 <td class="message">
1693 <span class="css-truncate css-truncate-target">
1694 <a data-pjax="true" title="LICENSES: Add MPL-1.1 license
1695
1696Add the full text of the Mozilla Public License 1.1 to the kernel tree. It was
1697copied directly from:
1698
1699 https://spdx.org/licenses/MPL-1.1.html#licenseText
1700
1701Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1702Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
1703Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
1704Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1705Signed-off-by: Jonathan Corbet <corbet@lwn.net>" class="message" href="/torvalds/linux/commit/536ec30477fe66d0564aff8f3595c8ce603f1411">LICENSES: Add MPL-1.1 license</a>
1706 </span>
1707 </td>
1708 <td class="age">
1709 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-01-06T17:59:44Z">Jan 6, 2018</time-ago></span>
1710 </td>
1711 </tr>
1712 <tr class="js-navigation-item">
1713 <td class="icon">
1714 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1715 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1716 </td>
1717 <td class="content">
1718 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="arch" id="d6194c68fcc7e79bb57401be603cb1cc-f01e7a8112f14ad7f2b653bfee904fc4721eef21" href="/torvalds/linux/tree/master/arch">arch</a></span>
1719 </td>
1720 <td class="message">
1721 <span class="css-truncate css-truncate-target">
1722 <a data-pjax="true" title="Merge branch 'parisc-4.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
1723
1724Pull parisc build fix from Helge Deller:
1725 "Fix build error because of missing binfmt_elf32.o file which is still
1726 mentioned in the Makefile"
1727
1728* 'parisc-4.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
1729 parisc: Fix missing binfmt_elf32.o build error" class="message" href="/torvalds/linux/commit/a27fc14219f2e3c4a46ba9177b04d9b52c875532">Merge branch 'parisc-4.17-3' of git://git.kernel.org/pub/scm/linux/ke…</a>
1730 </span>
1731 </td>
1732 <td class="age">
1733 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T21:07:39Z">Apr 16, 2018</time-ago></span>
1734 </td>
1735 </tr>
1736 <tr class="js-navigation-item">
1737 <td class="icon">
1738 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1739 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1740 </td>
1741 <td class="content">
1742 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="block" id="14511f2f5564650d129ca7cabc333278-0dc5c54f11aa4ccf61156c950e764e77019debf0" href="/torvalds/linux/tree/master/block">block</a></span>
1743 </td>
1744 <td class="message">
1745 <span class="css-truncate css-truncate-target">
1746 <a data-pjax="true" title="blk-mq: Revert "blk-mq: reimplement blk_mq_hw_queue_mapped"
1747
1748This reverts commit 127276c6ce5a30fcc806b7fe53015f4f89b62956.
1749
1750When all CPUs of one hw queue become offline, there still may have IOs
1751not completed from this hctx. But blk_mq_hw_queue_mapped() is called in
1752blk_mq_queue_tag_busy_iter(), which is used for iterating request in timeout
1753handler, timeout event will be missed on the inactive hctx, then request may
1754never be completed.
1755
1756Also the replementation of blk_mq_hw_queue_mapped() doesn't match the helper's
1757name any more, and it should have been named as blk_mq_hw_queue_active().
1758
1759Even other callers need further verification about this reimplemenation.
1760
1761So revert this patch now, and we can improve hw queue activate/inactivate event
1762after adequent researching and test.
1763
1764Cc: Stefan Haberland <sth@linux.vnet.ibm.com>
1765Cc: Christian Borntraeger <borntraeger@de.ibm.com>
1766Cc: Christoph Hellwig <hch@lst.de>
1767Reported-by: Jens Axboe <axboe@kernel.dk>
1768Fixes: 127276c6ce5a30fcc ("blk-mq: reimplement blk_mq_hw_queue_mapped")
1769Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
1770Signed-off-by: Ming Lei <ming.lei@redhat.com>
1771Signed-off-by: Jens Axboe <axboe@kernel.dk>" class="message" href="/torvalds/linux/commit/2434af79c85d45d41d0c286fedf6e0556888a54c">blk-mq: Revert "blk-mq: reimplement blk_mq_hw_queue_mapped"</a>
1772 </span>
1773 </td>
1774 <td class="age">
1775 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-11T13:59:15Z">Apr 11, 2018</time-ago></span>
1776 </td>
1777 </tr>
1778 <tr class="js-navigation-item">
1779 <td class="icon">
1780 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1781 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1782 </td>
1783 <td class="content">
1784 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="certs" id="5c99e9c56c11bc780a27097694149cba-a844094338d322c5c8d1d94461037c60d39a4fc4" href="/torvalds/linux/tree/master/certs">certs</a></span>
1785 </td>
1786 <td class="message">
1787 <span class="css-truncate css-truncate-target">
1788 <a data-pjax="true" title="certs/blacklist_nohashes.c: fix const confusion in certs blacklist
1789
1790const must be marked __initconst, not __initdata.
1791
1792Link: http://lkml.kernel.org/r/20171222001335.1987-1-andi@firstfloor.org
1793Signed-off-by: Andi Kleen <ak@linux.intel.com>
1794Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
1795Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1796Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" class="message" href="/torvalds/linux/commit/2be04df5668d81f9a98e57b81bc53f72bd5f4f92">certs/blacklist_nohashes.c: fix const confusion in certs blacklist</a>
1797 </span>
1798 </td>
1799 <td class="age">
1800 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-02-21T23:35:43Z">Feb 21, 2018</time-ago></span>
1801 </td>
1802 </tr>
1803 <tr class="js-navigation-item">
1804 <td class="icon">
1805 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1806 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1807 </td>
1808 <td class="content">
1809 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="crypto" id="5ae9b7f211e23aac3df5f2b8f3b8eada-aa1bf656a9afdfe168fe4ae21df448adfa4e553d" href="/torvalds/linux/tree/master/crypto">crypto</a></span>
1810 </td>
1811 <td class="message">
1812 <span class="css-truncate css-truncate-target">
1813 <a data-pjax="true" title="Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
1814
1815Pull more Kbuild updates from Masahiro Yamada:
1816
1817 - pass HOSTLDFLAGS when compiling single .c host programs
1818
1819 - build genksyms lexer and parser files instead of using shipped
1820 versions
1821
1822 - rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency
1823
1824 - let the top .gitignore globally ignore artifacts generated by flex,
1825 bison, and asn1_compiler
1826
1827 - let the top Makefile globally clean artifacts generated by flex,
1828 bison, and asn1_compiler
1829
1830 - use safer .SECONDARY marker instead of .PRECIOUS to prevent
1831 intermediate files from being removed
1832
1833 - support -fmacro-prefix-map option to make __FILE__ a relative path
1834
1835 - fix # escaping to prepare for the future GNU Make release
1836
1837 - clean up deb-pkg by using debian tools instead of handrolled
1838 source/changes generation
1839
1840 - improve rpm-pkg portability by supporting kernel-install as a
1841 fallback of new-kernel-pkg
1842
1843 - extend Kconfig listnewconfig target to provide more information
1844
1845* tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
1846 kconfig: extend output of 'listnewconfig'
1847 kbuild: rpm-pkg: use kernel-install as a fallback for new-kernel-pkg
1848 Kbuild: fix # escaping in .cmd files for future Make
1849 kbuild: deb-pkg: split generating packaging and build
1850 kbuild: use -fmacro-prefix-map to make __FILE__ a relative path
1851 kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
1852 kbuild: rename *-asn1.[ch] to *.asn1.[ch]
1853 kbuild: clean up *-asn1.[ch] patterns from top-level Makefile
1854 .gitignore: move *-asn1.[ch] patterns to the top-level .gitignore
1855 kbuild: add %.dtb.S and %.dtb to 'targets' automatically
1856 kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
1857 genksyms: generate lexer and parser during build instead of shipping
1858 kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
1859 .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
1860 kbuild: use HOSTLDFLAGS for single .c executables" class="message" href="/torvalds/linux/commit/ca71b3ba4c78c2c05b44be9b257a4127223f0b0c">Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kern…</a>
1861 </span>
1862 </td>
1863 <td class="age">
1864 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T00:21:30Z">Apr 16, 2018</time-ago></span>
1865 </td>
1866 </tr>
1867 <tr class="js-navigation-item">
1868 <td class="icon">
1869 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1870 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1871 </td>
1872 <td class="content">
1873 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="drivers" id="fe69fd0a878b10d190c924b2398bad9c-b4b44899933ab9f8c4fdefe24f2829632788cf60" href="/torvalds/linux/tree/master/drivers">drivers</a></span>
1874 </td>
1875 <td class="message">
1876 <span class="css-truncate css-truncate-target">
1877 <a data-pjax="true" title="Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
1878
1879Pull missed timer updates from Thomas Gleixner:
1880 "This is a branch which got forgotten during the merge window, but it
1881 contains only fixes and hardware enablement. No fundamental changes.
1882
1883 - Various fixes for the imx-tpm clocksource driver
1884
1885 - A new timer driver for the NCPM7xx SoC family"
1886
1887* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
1888 clocksource/drivers/imx-tpm: Add different counter width support
1889 clocksource/drivers/imx-tpm: Correct some registers operation flow
1890 clocksource/drivers/imx-tpm: Fix typo of clock name
1891 dt-bindings: timer: tpm: fix typo of clock name
1892 clocksource/drivers/npcm: Add NPCM7xx timer driver
1893 dt-binding: timer: document NPCM7xx timer DT bindings" class="message" href="/torvalds/linux/commit/d95c8844399885cd511c6f6395621cc1a9fe2e68">Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/…</a>
1894 </span>
1895 </td>
1896 <td class="age">
1897 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T19:44:03Z">Apr 16, 2018</time-ago></span>
1898 </td>
1899 </tr>
1900 <tr class="js-navigation-item">
1901 <td class="icon">
1902 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1903 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1904 </td>
1905 <td class="content">
1906 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="firmware" id="74b5b5e9570efc5c0553bb327cd41940-0e0560d2cbbfaf890620b824586b17a82ca076fb" href="/torvalds/linux/tree/master/firmware">firmware</a></span>
1907 </td>
1908 <td class="message">
1909 <span class="css-truncate css-truncate-target">
1910 <a data-pjax="true" title="kbuild: remove all dummy assignments to obj-
1911
1912Now kbuild core scripts create empty built-in.o where necessary.
1913Remove "obj- := dummy.o" tricks.
1914
1915Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>" class="message" href="/torvalds/linux/commit/bf070bb0e6c62ba3075db0a666763ba52c677102">kbuild: remove all dummy assignments to obj-</a>
1916 </span>
1917 </td>
1918 <td class="age">
1919 <span class="css-truncate css-truncate-target"><time-ago datetime="2017-11-18T02:46:06Z">Nov 18, 2017</time-ago></span>
1920 </td>
1921 </tr>
1922 <tr class="js-navigation-item">
1923 <td class="icon">
1924 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1925 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1926 </td>
1927 <td class="content">
1928 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="fs" id="bc7b36fe4d2924e49800d9b3dc4a325c-497d7db03507ad4b7708dbf4fdb784fcdbb7808e" href="/torvalds/linux/tree/master/fs">fs</a></span>
1929 </td>
1930 <td class="message">
1931 <span class="css-truncate css-truncate-target">
1932 <a data-pjax="true" title="Merge tag 'for-4.17-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
1933
1934Pull more btrfs updates from David Sterba:
1935 "We have queued a few more fixes (error handling, log replay,
1936 softlockup) and the rest is SPDX updates that touche almost all files
1937 so the diffstat is long"
1938
1939* tag 'for-4.17-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
1940 btrfs: Only check first key for committed tree blocks
1941 btrfs: add SPDX header to Kconfig
1942 btrfs: replace GPL boilerplate by SPDX -- sources
1943 btrfs: replace GPL boilerplate by SPDX -- headers
1944 Btrfs: fix loss of prealloc extents past i_size after fsync log replay
1945 Btrfs: clean up resources during umount after trans is aborted
1946 btrfs: Fix possible softlock on single core machines
1947 Btrfs: bail out on error during replay_dir_deletes
1948 Btrfs: fix NULL pointer dereference in log_dir_items" class="message" href="/torvalds/linux/commit/e37563bb6c59a6948aa09beb77ba263600d19792">Merge tag 'for-4.17-part2-tag' of git://git.kernel.org/pub/scm/linux/…</a>
1949 </span>
1950 </td>
1951 <td class="age">
1952 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T01:08:35Z">Apr 16, 2018</time-ago></span>
1953 </td>
1954 </tr>
1955 <tr class="js-navigation-item">
1956 <td class="icon">
1957 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
1958 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
1959 </td>
1960 <td class="content">
1961 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="include" id="d436eb0fd9de10b54a828ce6435f7e81-fc91121038d565c5a733e145aa8613c4f3cb2319" href="/torvalds/linux/tree/master/include">include</a></span>
1962 </td>
1963 <td class="message">
1964 <span class="css-truncate css-truncate-target">
1965 <a data-pjax="true" title="Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
1966
1967Pull x86 fixes from Thomas Gleixner:
1968 "A set of fixes and updates for x86:
1969
1970 - Address a swiotlb regression which was caused by the recent DMA
1971 rework and made driver fail because dma_direct_supported() returned
1972 false
1973
1974 - Fix a signedness bug in the APIC ID validation which caused invalid
1975 APIC IDs to be detected as valid thereby bloating the CPU possible
1976 space.
1977
1978 - Fix inconsisten config dependcy/select magic for the MFD_CS5535
1979 driver.
1980
1981 - Fix a corruption of the physical address space bits when encryption
1982 has reduced the address space and late cpuinfo updates overwrite
1983 the reduced bit information with the original value.
1984
1985 - Dominiks syscall rework which consolidates the architecture
1986 specific syscall functions so all syscalls can be wrapped with the
1987 same macros. This allows to switch x86/64 to struct pt_regs based
1988 syscalls. Extend the clearing of user space controlled registers in
1989 the entry patch to the lower registers"
1990
1991* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
1992 x86/apic: Fix signedness bug in APIC ID validity checks
1993 x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment corruption
1994 x86/olpc: Fix inconsistent MFD_CS5535 configuration
1995 swiotlb: Use dma_direct_supported() for swiotlb_ops
1996 syscalls/x86: Adapt syscall_wrapper.h to the new syscall stub naming convention
1997 syscalls/core, syscalls/x86: Rename struct pt_regs-based sys_*() to __x64_sys_*()
1998 syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention
1999 syscalls/core, syscalls/x86: Clean up syscall stub naming convention
2000 syscalls/x86: Extend register clearing on syscall entry to lower registers
2001 syscalls/x86: Unconditionally enable 'struct pt_regs' based syscalls on x86_64
2002 syscalls/x86: Use 'struct pt_regs' based syscall calling for IA32_EMULATION and x32
2003 syscalls/core: Prepare CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y for compat syscalls
2004 syscalls/x86: Use 'struct pt_regs' based syscall calling convention for 64-bit syscalls
2005 syscalls/core: Introduce CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
2006 x86/syscalls: Don't pointlessly reload the system call number
2007 x86/mm: Fix documentation of module mapping range with 4-level paging
2008 x86/cpuid: Switch to 'static const' specifier" class="message" href="/torvalds/linux/commit/9fb71c2f230df44bdd237e9a4457849a3909017d">Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…</a>
2009 </span>
2010 </td>
2011 <td class="age">
2012 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-15T23:12:35Z">Apr 15, 2018</time-ago></span>
2013 </td>
2014 </tr>
2015 <tr class="js-navigation-item">
2016 <td class="icon">
2017 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2018 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2019 </td>
2020 <td class="content">
2021 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="init" id="e37f0136aa3ffaf149b351f6a4c948e9-c59677122774f4f1c767f4db3600848c4f64fe80" href="/torvalds/linux/tree/master/init">init</a></span>
2022 </td>
2023 <td class="message">
2024 <span class="css-truncate css-truncate-target">
2025 <a data-pjax="true" title="Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2026
2027Pull x86 fixes from Thomas Gleixner:
2028 "A set of fixes and updates for x86:
2029
2030 - Address a swiotlb regression which was caused by the recent DMA
2031 rework and made driver fail because dma_direct_supported() returned
2032 false
2033
2034 - Fix a signedness bug in the APIC ID validation which caused invalid
2035 APIC IDs to be detected as valid thereby bloating the CPU possible
2036 space.
2037
2038 - Fix inconsisten config dependcy/select magic for the MFD_CS5535
2039 driver.
2040
2041 - Fix a corruption of the physical address space bits when encryption
2042 has reduced the address space and late cpuinfo updates overwrite
2043 the reduced bit information with the original value.
2044
2045 - Dominiks syscall rework which consolidates the architecture
2046 specific syscall functions so all syscalls can be wrapped with the
2047 same macros. This allows to switch x86/64 to struct pt_regs based
2048 syscalls. Extend the clearing of user space controlled registers in
2049 the entry patch to the lower registers"
2050
2051* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
2052 x86/apic: Fix signedness bug in APIC ID validity checks
2053 x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment corruption
2054 x86/olpc: Fix inconsistent MFD_CS5535 configuration
2055 swiotlb: Use dma_direct_supported() for swiotlb_ops
2056 syscalls/x86: Adapt syscall_wrapper.h to the new syscall stub naming convention
2057 syscalls/core, syscalls/x86: Rename struct pt_regs-based sys_*() to __x64_sys_*()
2058 syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention
2059 syscalls/core, syscalls/x86: Clean up syscall stub naming convention
2060 syscalls/x86: Extend register clearing on syscall entry to lower registers
2061 syscalls/x86: Unconditionally enable 'struct pt_regs' based syscalls on x86_64
2062 syscalls/x86: Use 'struct pt_regs' based syscall calling for IA32_EMULATION and x32
2063 syscalls/core: Prepare CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y for compat syscalls
2064 syscalls/x86: Use 'struct pt_regs' based syscall calling convention for 64-bit syscalls
2065 syscalls/core: Introduce CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
2066 x86/syscalls: Don't pointlessly reload the system call number
2067 x86/mm: Fix documentation of module mapping range with 4-level paging
2068 x86/cpuid: Switch to 'static const' specifier" class="message" href="/torvalds/linux/commit/9fb71c2f230df44bdd237e9a4457849a3909017d">Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…</a>
2069 </span>
2070 </td>
2071 <td class="age">
2072 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-15T23:12:35Z">Apr 15, 2018</time-ago></span>
2073 </td>
2074 </tr>
2075 <tr class="js-navigation-item">
2076 <td class="icon">
2077 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2078 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2079 </td>
2080 <td class="content">
2081 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="ipc" id="5ac8bf6fc7652745573f0ef24a8ab513-aee4693fda2435739275693e339df712537a4a69" href="/torvalds/linux/tree/master/ipc">ipc</a></span>
2082 </td>
2083 <td class="message">
2084 <span class="css-truncate css-truncate-target">
2085 <a data-pjax="true" title="ipc/shm: fix use-after-free of shm file via remap_file_pages()
2086
2087syzbot reported a use-after-free of shm_file_data(file)->file->f_op in
2088shm_get_unmapped_area(), called via sys_remap_file_pages().
2089
2090Unfortunately it couldn't generate a reproducer, but I found a bug which
2091I think caused it. When remap_file_pages() is passed a full System V
2092shared memory segment, the memory is first unmapped, then a new map is
2093created using the ->vm_file. Between these steps, the shm ID can be
2094removed and reused for a new shm segment. But, shm_mmap() only checks
2095whether the ID is currently valid before calling the underlying file's
2096->mmap(); it doesn't check whether it was reused. Thus it can use the
2097wrong underlying file, one that was already freed.
2098
2099Fix this by making the "outer" shm file (the one that gets put in
2100->vm_file) hold a reference to the real shm file, and by making
2101__shm_open() require that the file associated with the shm ID matches
2102the one associated with the "outer" file.
2103
2104Taking the reference to the real shm file is needed to fully solve the
2105problem, since otherwise sfd->file could point to a freed file, which
2106then could be reallocated for the reused shm ID, causing the wrong shm
2107segment to be mapped (and without the required permission checks).
2108
2109Commit 1ac0b6dec656 ("ipc/shm: handle removed segments gracefully in
2110shm_mmap()") almost fixed this bug, but it didn't go far enough because
2111it didn't consider the case where the shm ID is reused.
2112
2113The following program usually reproduces this bug:
2114
2115 #include <stdlib.h>
2116 #include <sys/shm.h>
2117 #include <sys/syscall.h>
2118 #include <unistd.h>
2119
2120 int main()
2121 {
2122 int is_parent = (fork() != 0);
2123 srand(getpid());
2124 for (;;) {
2125 int id = shmget(0xF00F, 4096, IPC_CREAT|0700);
2126 if (is_parent) {
2127 void *addr = shmat(id, NULL, 0);
2128 usleep(rand() % 50);
2129 while (!syscall(__NR_remap_file_pages, addr, 4096, 0, 0, 0));
2130 } else {
2131 usleep(rand() % 50);
2132 shmctl(id, IPC_RMID, NULL);
2133 }
2134 }
2135 }
2136
2137It causes the following NULL pointer dereference due to a 'struct file'
2138being used while it's being freed. (I couldn't actually get a KASAN
2139use-after-free splat like in the syzbot report. But I think it's
2140possible with this bug; it would just take a more extraordinary race...)
2141
2142 BUG: unable to handle kernel NULL pointer dereference at 0000000000000058
2143 PGD 0 P4D 0
2144 Oops: 0000 [#1] SMP NOPTI
2145 CPU: 9 PID: 258 Comm: syz_ipc Not tainted 4.16.0-05140-gf8cf2f16a7c95 #189
2146 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-20171110_100015-anatol 04/01/2014
2147 RIP: 0010:d_inode include/linux/dcache.h:519 [inline]
2148 RIP: 0010:touch_atime+0x25/0xd0 fs/inode.c:1724
2149 [...]
2150 Call Trace:
2151 file_accessed include/linux/fs.h:2063 [inline]
2152 shmem_mmap+0x25/0x40 mm/shmem.c:2149
2153 call_mmap include/linux/fs.h:1789 [inline]
2154 shm_mmap+0x34/0x80 ipc/shm.c:465
2155 call_mmap include/linux/fs.h:1789 [inline]
2156 mmap_region+0x309/0x5b0 mm/mmap.c:1712
2157 do_mmap+0x294/0x4a0 mm/mmap.c:1483
2158 do_mmap_pgoff include/linux/mm.h:2235 [inline]
2159 SYSC_remap_file_pages mm/mmap.c:2853 [inline]
2160 SyS_remap_file_pages+0x232/0x310 mm/mmap.c:2769
2161 do_syscall_64+0x64/0x1a0 arch/x86/entry/common.c:287
2162 entry_SYSCALL_64_after_hwframe+0x42/0xb7
2163
2164[ebiggers@google.com: add comment]
2165 Link: http://lkml.kernel.org/r/20180410192850.235835-1-ebiggers3@gmail.com
2166Link: http://lkml.kernel.org/r/20180409043039.28915-1-ebiggers3@gmail.com
2167Reported-by: syzbot+d11f321e7f1923157eac80aa990b446596f46439@syzkaller.appspotmail.com
2168Fixes: c8d78c1823f4 ("mm: replace remap_file_pages() syscall with emulation")
2169Signed-off-by: Eric Biggers <ebiggers@google.com>
2170Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
2171Acked-by: Davidlohr Bueso <dbueso@suse.de>
2172Cc: Manfred Spraul <manfred@colorfullife.com>
2173Cc: "Eric W . Biederman" <ebiederm@xmission.com>
2174Cc: <stable@vger.kernel.org>
2175Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2176Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" class="message" href="/torvalds/linux/commit/3f05317d9889ab75c7190dcd39491d2a97921984">ipc/shm: fix use-after-free of shm file via remap_file_pages()</a>
2177 </span>
2178 </td>
2179 <td class="age">
2180 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-14T00:10:27Z">Apr 14, 2018</time-ago></span>
2181 </td>
2182 </tr>
2183 <tr class="js-navigation-item">
2184 <td class="icon">
2185 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2186 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2187 </td>
2188 <td class="content">
2189 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="kernel" id="50484c19f1afdaf3841a0d821ed393d2-805b9e51205998667bfb8b0e1e9ab758d877e4b0" href="/torvalds/linux/tree/master/kernel">kernel</a></span>
2190 </td>
2191 <td class="message">
2192 <span class="css-truncate css-truncate-target">
2193 <a data-pjax="true" title="Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2194
2195Pull x86 fixes from Thomas Gleixner:
2196 "A set of fixes and updates for x86:
2197
2198 - Address a swiotlb regression which was caused by the recent DMA
2199 rework and made driver fail because dma_direct_supported() returned
2200 false
2201
2202 - Fix a signedness bug in the APIC ID validation which caused invalid
2203 APIC IDs to be detected as valid thereby bloating the CPU possible
2204 space.
2205
2206 - Fix inconsisten config dependcy/select magic for the MFD_CS5535
2207 driver.
2208
2209 - Fix a corruption of the physical address space bits when encryption
2210 has reduced the address space and late cpuinfo updates overwrite
2211 the reduced bit information with the original value.
2212
2213 - Dominiks syscall rework which consolidates the architecture
2214 specific syscall functions so all syscalls can be wrapped with the
2215 same macros. This allows to switch x86/64 to struct pt_regs based
2216 syscalls. Extend the clearing of user space controlled registers in
2217 the entry patch to the lower registers"
2218
2219* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
2220 x86/apic: Fix signedness bug in APIC ID validity checks
2221 x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment corruption
2222 x86/olpc: Fix inconsistent MFD_CS5535 configuration
2223 swiotlb: Use dma_direct_supported() for swiotlb_ops
2224 syscalls/x86: Adapt syscall_wrapper.h to the new syscall stub naming convention
2225 syscalls/core, syscalls/x86: Rename struct pt_regs-based sys_*() to __x64_sys_*()
2226 syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention
2227 syscalls/core, syscalls/x86: Clean up syscall stub naming convention
2228 syscalls/x86: Extend register clearing on syscall entry to lower registers
2229 syscalls/x86: Unconditionally enable 'struct pt_regs' based syscalls on x86_64
2230 syscalls/x86: Use 'struct pt_regs' based syscall calling for IA32_EMULATION and x32
2231 syscalls/core: Prepare CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y for compat syscalls
2232 syscalls/x86: Use 'struct pt_regs' based syscall calling convention for 64-bit syscalls
2233 syscalls/core: Introduce CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
2234 x86/syscalls: Don't pointlessly reload the system call number
2235 x86/mm: Fix documentation of module mapping range with 4-level paging
2236 x86/cpuid: Switch to 'static const' specifier" class="message" href="/torvalds/linux/commit/9fb71c2f230df44bdd237e9a4457849a3909017d">Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…</a>
2237 </span>
2238 </td>
2239 <td class="age">
2240 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-15T23:12:35Z">Apr 15, 2018</time-ago></span>
2241 </td>
2242 </tr>
2243 <tr class="js-navigation-item">
2244 <td class="icon">
2245 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2246 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2247 </td>
2248 <td class="content">
2249 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="lib" id="e8acc63b1e238f3255c900eed37254b8-be675121332b79f726f6771ca97c21e495282cb2" href="/torvalds/linux/tree/master/lib">lib</a></span>
2250 </td>
2251 <td class="message">
2252 <span class="css-truncate css-truncate-target">
2253 <a data-pjax="true" title="Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2254
2255Pull x86 fixes from Thomas Gleixner:
2256 "A set of fixes and updates for x86:
2257
2258 - Address a swiotlb regression which was caused by the recent DMA
2259 rework and made driver fail because dma_direct_supported() returned
2260 false
2261
2262 - Fix a signedness bug in the APIC ID validation which caused invalid
2263 APIC IDs to be detected as valid thereby bloating the CPU possible
2264 space.
2265
2266 - Fix inconsisten config dependcy/select magic for the MFD_CS5535
2267 driver.
2268
2269 - Fix a corruption of the physical address space bits when encryption
2270 has reduced the address space and late cpuinfo updates overwrite
2271 the reduced bit information with the original value.
2272
2273 - Dominiks syscall rework which consolidates the architecture
2274 specific syscall functions so all syscalls can be wrapped with the
2275 same macros. This allows to switch x86/64 to struct pt_regs based
2276 syscalls. Extend the clearing of user space controlled registers in
2277 the entry patch to the lower registers"
2278
2279* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
2280 x86/apic: Fix signedness bug in APIC ID validity checks
2281 x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment corruption
2282 x86/olpc: Fix inconsistent MFD_CS5535 configuration
2283 swiotlb: Use dma_direct_supported() for swiotlb_ops
2284 syscalls/x86: Adapt syscall_wrapper.h to the new syscall stub naming convention
2285 syscalls/core, syscalls/x86: Rename struct pt_regs-based sys_*() to __x64_sys_*()
2286 syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention
2287 syscalls/core, syscalls/x86: Clean up syscall stub naming convention
2288 syscalls/x86: Extend register clearing on syscall entry to lower registers
2289 syscalls/x86: Unconditionally enable 'struct pt_regs' based syscalls on x86_64
2290 syscalls/x86: Use 'struct pt_regs' based syscall calling for IA32_EMULATION and x32
2291 syscalls/core: Prepare CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y for compat syscalls
2292 syscalls/x86: Use 'struct pt_regs' based syscall calling convention for 64-bit syscalls
2293 syscalls/core: Introduce CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
2294 x86/syscalls: Don't pointlessly reload the system call number
2295 x86/mm: Fix documentation of module mapping range with 4-level paging
2296 x86/cpuid: Switch to 'static const' specifier" class="message" href="/torvalds/linux/commit/9fb71c2f230df44bdd237e9a4457849a3909017d">Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…</a>
2297 </span>
2298 </td>
2299 <td class="age">
2300 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-15T23:12:35Z">Apr 15, 2018</time-ago></span>
2301 </td>
2302 </tr>
2303 <tr class="js-navigation-item">
2304 <td class="icon">
2305 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2306 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2307 </td>
2308 <td class="content">
2309 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="mm" id="b3cd915d758008bd19d0f2428fbb354a-55740eed6bc8df36db776621c1011c9a8c9024ec" href="/torvalds/linux/tree/master/mm">mm</a></span>
2310 </td>
2311 <td class="message">
2312 <span class="css-truncate css-truncate-target">
2313 <a data-pjax="true" title="mm, slab: reschedule cache_reap() on the same CPU
2314
2315cache_reap() is initially scheduled in start_cpu_timer() via
2316schedule_delayed_work_on(). But then the next iterations are scheduled
2317via schedule_delayed_work(), i.e. using WORK_CPU_UNBOUND.
2318
2319Thus since commit ef557180447f ("workqueue: schedule WORK_CPU_UNBOUND
2320work on wq_unbound_cpumask CPUs") there is no guarantee the future
2321iterations will run on the originally intended cpu, although it's still
2322preferred. I was able to demonstrate this with
2323/sys/module/workqueue/parameters/debug_force_rr_cpu. IIUC, it may also
2324happen due to migrating timers in nohz context. As a result, some cpu's
2325would be calling cache_reap() more frequently and others never.
2326
2327This patch uses schedule_delayed_work_on() with the current cpu when
2328scheduling the next iteration.
2329
2330Link: http://lkml.kernel.org/r/20180411070007.32225-1-vbabka@suse.cz
2331Fixes: ef557180447f ("workqueue: schedule WORK_CPU_UNBOUND work on wq_unbound_cpumask CPUs")
2332Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2333Acked-by: Pekka Enberg <penberg@kernel.org>
2334Acked-by: Christoph Lameter <cl@linux.com>
2335Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
2336Cc: David Rientjes <rientjes@google.com>
2337Cc: Tejun Heo <tj@kernel.org>
2338Cc: Lai Jiangshan <jiangshanlai@gmail.com>
2339Cc: John Stultz <john.stultz@linaro.org>
2340Cc: Thomas Gleixner <tglx@linutronix.de>
2341Cc: Stephen Boyd <sboyd@kernel.org>
2342Cc: <stable@vger.kernel.org>
2343Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2344Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" class="message" href="/torvalds/linux/commit/a9f2a846f0503e7d729f552e3ccfe2279010fe94">mm, slab: reschedule cache_reap() on the same CPU</a>
2345 </span>
2346 </td>
2347 <td class="age">
2348 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-14T00:10:27Z">Apr 14, 2018</time-ago></span>
2349 </td>
2350 </tr>
2351 <tr class="js-navigation-item">
2352 <td class="icon">
2353 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2354 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2355 </td>
2356 <td class="content">
2357 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="net" id="40fa73c9d0083043c6576dd2b40511e4-34c638cf0cafb978f9a37f3f21afb510bc31422e" href="/torvalds/linux/tree/master/net">net</a></span>
2358 </td>
2359 <td class="message">
2360 <span class="css-truncate css-truncate-target">
2361 <a data-pjax="true" title="Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
2362
2363Pull more Kbuild updates from Masahiro Yamada:
2364
2365 - pass HOSTLDFLAGS when compiling single .c host programs
2366
2367 - build genksyms lexer and parser files instead of using shipped
2368 versions
2369
2370 - rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency
2371
2372 - let the top .gitignore globally ignore artifacts generated by flex,
2373 bison, and asn1_compiler
2374
2375 - let the top Makefile globally clean artifacts generated by flex,
2376 bison, and asn1_compiler
2377
2378 - use safer .SECONDARY marker instead of .PRECIOUS to prevent
2379 intermediate files from being removed
2380
2381 - support -fmacro-prefix-map option to make __FILE__ a relative path
2382
2383 - fix # escaping to prepare for the future GNU Make release
2384
2385 - clean up deb-pkg by using debian tools instead of handrolled
2386 source/changes generation
2387
2388 - improve rpm-pkg portability by supporting kernel-install as a
2389 fallback of new-kernel-pkg
2390
2391 - extend Kconfig listnewconfig target to provide more information
2392
2393* tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
2394 kconfig: extend output of 'listnewconfig'
2395 kbuild: rpm-pkg: use kernel-install as a fallback for new-kernel-pkg
2396 Kbuild: fix # escaping in .cmd files for future Make
2397 kbuild: deb-pkg: split generating packaging and build
2398 kbuild: use -fmacro-prefix-map to make __FILE__ a relative path
2399 kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
2400 kbuild: rename *-asn1.[ch] to *.asn1.[ch]
2401 kbuild: clean up *-asn1.[ch] patterns from top-level Makefile
2402 .gitignore: move *-asn1.[ch] patterns to the top-level .gitignore
2403 kbuild: add %.dtb.S and %.dtb to 'targets' automatically
2404 kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
2405 genksyms: generate lexer and parser during build instead of shipping
2406 kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
2407 .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
2408 kbuild: use HOSTLDFLAGS for single .c executables" class="message" href="/torvalds/linux/commit/ca71b3ba4c78c2c05b44be9b257a4127223f0b0c">Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kern…</a>
2409 </span>
2410 </td>
2411 <td class="age">
2412 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T00:21:30Z">Apr 16, 2018</time-ago></span>
2413 </td>
2414 </tr>
2415 <tr class="js-navigation-item">
2416 <td class="icon">
2417 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2418 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2419 </td>
2420 <td class="content">
2421 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="samples" id="6ef9161b900632671022358216c7dfe7-c628b6a4dc08f30945ebe19fef6c02f478914dde" href="/torvalds/linux/tree/master/samples">samples</a></span>
2422 </td>
2423 <td class="message">
2424 <span class="css-truncate css-truncate-target">
2425 <a data-pjax="true" title="Merge tag 'rproc-v4.17' of git://github.com/andersson/remoteproc
2426
2427Pull remoteproc updates from Bjorn Andersson:
2428
2429 - add support for generating coredumps for remoteprocs using
2430 devcoredump
2431
2432 - add the Qualcomm sysmon driver for intra-remoteproc crash handling
2433
2434 - a number of fixes in Qualcomm and IMX drivers
2435
2436* tag 'rproc-v4.17' of git://github.com/andersson/remoteproc:
2437 remoteproc: fix null pointer dereference on glink only platforms
2438 soc: qcom: qmi: add CONFIG_NET dependency
2439 remoteproc: imx_rproc: Slightly simplify code in 'imx_rproc_probe()'
2440 remoteproc: imx_rproc: Re-use existing error handling path in 'imx_rproc_probe()'
2441 remoteproc: imx_rproc: Fix an error handling path in 'imx_rproc_probe()'
2442 samples: Introduce Qualcomm QMI sample client
2443 remoteproc: qcom: Introduce sysmon
2444 remoteproc: Pass type of shutdown to subdev remove
2445 remoteproc: qcom: Register segments for core dump
2446 soc: qcom: mdt-loader: Return relocation base
2447 remoteproc: Rename "load_rsc_table" to "parse_fw"
2448 remoteproc: Add remote processor coredump support
2449 remoteproc: Remove null character write of shared mem" class="message" href="/torvalds/linux/commit/92589cbdda677a84ca5e485e1083c7d3bdcfc7b9">Merge tag 'rproc-v4.17' of git://github.com/andersson/remoteproc</a>
2450 </span>
2451 </td>
2452 <td class="age">
2453 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-10T19:09:27Z">Apr 10, 2018</time-ago></span>
2454 </td>
2455 </tr>
2456 <tr class="js-navigation-item">
2457 <td class="icon">
2458 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2459 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2460 </td>
2461 <td class="content">
2462 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="scripts" id="d6c5855a62cf32a4dadbc2831f0f295f-466f364a8bdfbd10bf404726dff5cdeece367056" href="/torvalds/linux/tree/master/scripts">scripts</a></span>
2463 </td>
2464 <td class="message">
2465 <span class="css-truncate css-truncate-target">
2466 <a data-pjax="true" title="Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
2467
2468Pull more Kbuild updates from Masahiro Yamada:
2469
2470 - pass HOSTLDFLAGS when compiling single .c host programs
2471
2472 - build genksyms lexer and parser files instead of using shipped
2473 versions
2474
2475 - rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency
2476
2477 - let the top .gitignore globally ignore artifacts generated by flex,
2478 bison, and asn1_compiler
2479
2480 - let the top Makefile globally clean artifacts generated by flex,
2481 bison, and asn1_compiler
2482
2483 - use safer .SECONDARY marker instead of .PRECIOUS to prevent
2484 intermediate files from being removed
2485
2486 - support -fmacro-prefix-map option to make __FILE__ a relative path
2487
2488 - fix # escaping to prepare for the future GNU Make release
2489
2490 - clean up deb-pkg by using debian tools instead of handrolled
2491 source/changes generation
2492
2493 - improve rpm-pkg portability by supporting kernel-install as a
2494 fallback of new-kernel-pkg
2495
2496 - extend Kconfig listnewconfig target to provide more information
2497
2498* tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
2499 kconfig: extend output of 'listnewconfig'
2500 kbuild: rpm-pkg: use kernel-install as a fallback for new-kernel-pkg
2501 Kbuild: fix # escaping in .cmd files for future Make
2502 kbuild: deb-pkg: split generating packaging and build
2503 kbuild: use -fmacro-prefix-map to make __FILE__ a relative path
2504 kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
2505 kbuild: rename *-asn1.[ch] to *.asn1.[ch]
2506 kbuild: clean up *-asn1.[ch] patterns from top-level Makefile
2507 .gitignore: move *-asn1.[ch] patterns to the top-level .gitignore
2508 kbuild: add %.dtb.S and %.dtb to 'targets' automatically
2509 kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
2510 genksyms: generate lexer and parser during build instead of shipping
2511 kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
2512 .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
2513 kbuild: use HOSTLDFLAGS for single .c executables" class="message" href="/torvalds/linux/commit/ca71b3ba4c78c2c05b44be9b257a4127223f0b0c">Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kern…</a>
2514 </span>
2515 </td>
2516 <td class="age">
2517 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T00:21:30Z">Apr 16, 2018</time-ago></span>
2518 </td>
2519 </tr>
2520 <tr class="js-navigation-item">
2521 <td class="icon">
2522 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2523 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2524 </td>
2525 <td class="content">
2526 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="security" id="e91e6348157868de9dd8b25c81aebfb9-587452e1f5abced028a5079ed4314d384e82c98c" href="/torvalds/linux/tree/master/security">security</a></span>
2527 </td>
2528 <td class="message">
2529 <span class="css-truncate css-truncate-target">
2530 <a data-pjax="true" title="Merge tag 'apparmor-pr-2018-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
2531
2532Pull apparmor updates from John Johansen:
2533 "Features:
2534 - add base infrastructure for socket mediation. ABI bump and
2535 additional checks to ensure only v8 compliant policy uses socket af
2536 mediation.
2537 - improve and cleanup dfa verification
2538 - improve profile attachment logic
2539 - improve overlapping expression handling
2540 - add the xattr matching to the attachment logic
2541 - improve signal mediation handling with stacked labels
2542 - improve handling of no_new_privs in a label stack
2543
2544 Cleanups and changes:
2545 - use dfa to parse string split
2546 - bounded version of label_parse
2547 - proper line wrap nulldfa.in
2548 - split context out into task and cred naming to better match usage
2549 - simplify code in aafs
2550
2551 Bug fixes:
2552 - fix display of .ns_name for containers
2553 - fix resource audit messages when auditing peer
2554 - fix logging of the existence test for signals
2555 - fix resource audit messages when auditing peer
2556 - fix display of .ns_name for containers
2557 - fix an error code in verify_table_headers()
2558 - fix memory leak on buffer on error exit path
2559 - fix error returns checks by making size a ssize_t"
2560
2561* tag 'apparmor-pr-2018-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor: (36 commits)
2562 apparmor: fix memory leak on buffer on error exit path
2563 apparmor: fix dangling symlinks to policy rawdata after replacement
2564 apparmor: Fix an error code in verify_table_headers()
2565 apparmor: fix error returns checks by making size a ssize_t
2566 apparmor: update MAINTAINERS file git and wiki locations
2567 apparmor: remove POLICY_MEDIATES_SAFE
2568 apparmor: add base infastructure for socket mediation
2569 apparmor: improve overlapping domain attachment resolution
2570 apparmor: convert attaching profiles via xattrs to use dfa matching
2571 apparmor: Add support for attaching profiles via xattr, presence and value
2572 apparmor: cleanup: simplify code to get ns symlink name
2573 apparmor: cleanup create_aafs() error path
2574 apparmor: dfa split verification of table headers
2575 apparmor: dfa add support for state differential encoding
2576 apparmor: dfa move character match into a macro
2577 apparmor: update domain transitions that are subsets of confinement at nnp
2578 apparmor: move context.h to cred.h
2579 apparmor: move task related defines and fns to task.X files
2580 apparmor: cleanup, drop unused fn __aa_task_is_confined()
2581 apparmor: cleanup fixup description of aa_replace_profiles
2582 ..." class="message" href="/torvalds/linux/commit/80a17a5f501ea048d86f81d629c94062b76610d4">Merge tag 'apparmor-pr-2018-04-10' of git://git.kernel.org/pub/scm/li…</a>
2583 </span>
2584 </td>
2585 <td class="age">
2586 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-13T22:38:53Z">Apr 13, 2018</time-ago></span>
2587 </td>
2588 </tr>
2589 <tr class="js-navigation-item">
2590 <td class="icon">
2591 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2592 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2593 </td>
2594 <td class="content">
2595 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="sound" id="0b8263d341de01f741e4deadfb18f9eb-9f2023c06968335c3b47959d377653c0853ac5a1" href="/torvalds/linux/tree/master/sound">sound</a></span>
2596 </td>
2597 <td class="message">
2598 <span class="css-truncate css-truncate-target">
2599 <a data-pjax="true" title="Merge tag 'drm-fixes-for-v4.17-rc1' of git://people.freedesktop.org/~airlied/linux
2600
2601Pull drm fixes from Dave Airlie:
2602 "One omap, and one alsa pm fix (we merged the breaking patch via drm
2603 tree).
2604
2605 Otherwise it's two bunches of amdgpu fixes, removing an unneeded file,
2606 some DC fixes, HDMI audio regression fix, and some vega12 fixes"
2607
2608* tag 'drm-fixes-for-v4.17-rc1' of git://people.freedesktop.org/~airlied/linux: (27 commits)
2609 Revert "drm/amd/display: disable CRTCs with NULL FB on their primary plane (V2)"
2610 Revert "drm/amd/display: fix dereferencing possible ERR_PTR()"
2611 drm/amd/display: Fix regamma not affecting full-intensity color values
2612 drm/amd/display: Fix FBC text console corruption
2613 drm/amd/display: Only register backlight device if embedded panel connected
2614 drm/amd/display: fix brightness level after resume from suspend
2615 drm/amd/display: HDMI has no sound after Panel power off/on
2616 drm/amdgpu: add MP1 and THM hw ip base reg offset
2617 drm/amdgpu: fix null pointer panic with direct fw loading on gpu reset
2618 drm/radeon: add PX quirk for Asus K73TK
2619 drm/omap: fix crash if there's no video PLL
2620 drm/amdgpu: Fix memory leaks at amdgpu_init() error path
2621 drm/amdgpu: Fix PCIe lane width calculation
2622 drm/radeon: Fix PCIe lane width calculation
2623 drm/amdgpu/si: implement get/set pcie_lanes asic callback
2624 drm/amdgpu: Add support for SRBM selection v3
2625 Revert "drm/amdgpu: Don't change preferred domian when fallback GTT v5"
2626 drm/amd/powerply: fix power reading on Fiji
2627 drm/amd/powerplay: Enable ACG SS feature
2628 drm/amdgpu/sdma: fix mask in emit_pipeline_sync
2629 ..." class="message" href="/torvalds/linux/commit/16e205cf42da1f497b10a4a24f563e6c0d574eec">Merge tag 'drm-fixes-for-v4.17-rc1' of git://people.freedesktop.org/~…</a>
2630 </span>
2631 </td>
2632 <td class="age">
2633 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-13T03:56:10Z">Apr 13, 2018</time-ago></span>
2634 </td>
2635 </tr>
2636 <tr class="js-navigation-item">
2637 <td class="icon">
2638 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2639 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2640 </td>
2641 <td class="content">
2642 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="tools" id="4a931512ce65bdc9ca6808adf92d8783-a99d1db9698e2b20ab1dc31e242f01b9606cc6a2" href="/torvalds/linux/tree/master/tools">tools</a></span>
2643 </td>
2644 <td class="message">
2645 <span class="css-truncate css-truncate-target">
2646 <a data-pjax="true" title="Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
2647
2648Pull kvm fixes from Paolo Bonzini:
2649 "Bug fixes, plus a new test case and the associated infrastructure for
2650 writing nested virtualization tests"
2651
2652* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
2653 kvm: selftests: add vmx_tsc_adjust_test
2654 kvm: x86: move MSR_IA32_TSC handling to x86.c
2655 X86/KVM: Properly update 'tsc_offset' to represent the running guest
2656 kvm: selftests: add -std=gnu99 cflags
2657 x86: Add check for APIC access address for vmentry of L2 guests
2658 KVM: X86: fix incorrect reference of trace_kvm_pi_irte_update
2659 X86/KVM: Do not allow DISABLE_EXITS_MWAIT when LAPIC ARAT is not available
2660 kvm: selftests: fix spelling mistake: "divisable" and "divisible"
2661 X86/VMX: Disable VMX preemption timer if MWAIT is not intercepted" class="message" href="/torvalds/linux/commit/e6d9bfdeb4395fa5397996b2c3111b5909f41a1b">Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm</a>
2662 </span>
2663 </td>
2664 <td class="age">
2665 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T18:24:28Z">Apr 16, 2018</time-ago></span>
2666 </td>
2667 </tr>
2668 <tr class="js-navigation-item">
2669 <td class="icon">
2670 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2671 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2672 </td>
2673 <td class="content">
2674 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="usr" id="0a744893951e0d1706ff74a7afccf561-6e6ac7892e865aa6050e6d0d2497da89f98a4c03" href="/torvalds/linux/tree/master/usr">usr</a></span>
2675 </td>
2676 <td class="message">
2677 <span class="css-truncate css-truncate-target">
2678 <a data-pjax="true" title="kbuild: rename built-in.o to built-in.a
2679
2680Incremental linking is gone, so rename built-in.o to built-in.a, which
2681is the usual extension for archive files.
2682
2683This patch does two things, first is a simple search/replace:
2684
2685git grep -l 'built-in\.o' | xargs sed -i 's/built-in\.o/built-in\.a/g'
2686
2687The second is to invert nesting of nested text manipulations to avoid
2688filtering built-in.a out from libs-y2:
2689
2690-libs-y2 := $(filter-out %.a, $(patsubst %/, %/built-in.a, $(libs-y)))
2691+libs-y2 := $(patsubst %/, %/built-in.a, $(filter-out %.a, $(libs-y)))
2692
2693Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
2694Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>" class="message" href="/torvalds/linux/commit/f49821ee32b76b1a356fab17316eb62430182ecf">kbuild: rename built-in.o to built-in.a</a>
2695 </span>
2696 </td>
2697 <td class="age">
2698 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-03-25T17:01:19Z">Mar 25, 2018</time-ago></span>
2699 </td>
2700 </tr>
2701 <tr class="js-navigation-item">
2702 <td class="icon">
2703 <svg class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>
2704 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2705 </td>
2706 <td class="content">
2707 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="virt" id="a385e96c9dcb7d1865a718934a8798fc-072a69f127b229a91b45755253bcbc3aca67a5c0" href="/torvalds/linux/tree/master/virt">virt</a></span>
2708 </td>
2709 <td class="message">
2710 <span class="css-truncate css-truncate-target">
2711 <a data-pjax="true" title="Merge tag 'kvm-arm-for-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm
2712
2713KVM/ARM updates for v4.17
2714
2715- VHE optimizations
2716- EL2 address space randomization
2717- Variant 3a mitigation for Cortex-A57 and A72
2718- The usual vgic fixes
2719- Various minor tidying-up" class="message" href="/torvalds/linux/commit/abe7a4586f0cf0ef35ed5f713ccfd4eb0770a5ac">Merge tag 'kvm-arm-for-v4.17' of git://git.kernel.org/pub/scm/linux/k…</a>
2720 </span>
2721 </td>
2722 <td class="age">
2723 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-03-28T14:09:09Z">Mar 28, 2018</time-ago></span>
2724 </td>
2725 </tr>
2726 <tr class="js-navigation-item">
2727 <td class="icon">
2728 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
2729 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2730 </td>
2731 <td class="content">
2732 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title=".clang-format" id="69a68f7ce1ea3687a38d8e4705e6fa48-faffc0d5af4eeb24ab55c5091fc965897eabbb7a" href="/torvalds/linux/blob/master/.clang-format">.clang-format</a></span>
2733 </td>
2734 <td class="message">
2735 <span class="css-truncate css-truncate-target">
2736 <a data-pjax="true" title="clang-format: add configuration file
2737
2738clang-format is a tool to format C/C++/... code according to a set of
2739rules and heuristics. Like most tools, it is not perfect nor covers
2740every single case, but it is good enough to be helpful.
2741
2742In particular, it is useful for quickly re-formatting blocks of code
2743automatically, for reviewing full files in order to spot coding style
2744mistakes, typos and possible improvements. It is also handy for sorting
2745``#includes``, for aligning variables and macros, for reflowing text and
2746other similar tasks. It also serves as a teaching tool/guide for
2747newcomers.
2748
2749The tool itself has been already included in the repositories of popular
2750Linux distributions for a long time. The rules in this file are
2751intended for clang-format >= 4, which is easily available in most
2752distributions.
2753
2754This commit adds the configuration file that contains the rules that the
2755tool uses to know how to format the code according to the kernel coding
2756style. This gives us several advantages:
2757
2758 * clang-format works out of the box with reasonable defaults;
2759 avoiding that everyone has to re-do the configuration.
2760
2761 * Everyone agrees (eventually) on what is the most useful default
2762 configuration for most of the kernel.
2763
2764 * If it becomes commonplace among kernel developers, clang-format
2765 may feel compelled to support us better. They already recognize
2766 the Linux kernel and its style in their documentation and in one
2767 of the style sub-options.
2768
2769Some of clang-format's features relevant for the kernel are:
2770
2771 * Uses clang's tooling support behind the scenes to parse and rewrite
2772 the code. It is not based on ad-hoc regexps.
2773
2774 * Supports reasonably well the Linux kernel coding style.
2775
2776 * Fast enough to be used at the press of a key.
2777
2778 * There are already integrations (either built-in or third-party)
2779 for many common editors used by kernel developers (e.g. vim,
2780 emacs, Sublime, Atom...) that allow you to format an entire file
2781 or, more usefully, just your selection.
2782
2783 * Able to parse unified diffs -- you can, for instance, reformat
2784 only the lines changed by a git commit.
2785
2786 * Able to reflow text comments as well.
2787
2788 * Widely supported and used by hundreds of developers in highly
2789 complex projects and organizations (e.g. the LLVM project itself,
2790 Chromium, WebKit, Google, Mozilla...). Therefore, it will be
2791 supported for a long time.
2792
2793See more information about the tool at:
2794
2795 https://clang.llvm.org/docs/ClangFormat.html
2796 https://clang.llvm.org/docs/ClangFormatStyleOptions.html
2797
2798Link: http://lkml.kernel.org/r/20180318171632.qfkemw3mwbcukth6@gmail.com
2799Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
2800Cc: Randy Dunlap <rdunlap@infradead.org>
2801Cc: Andy Whitcroft <apw@canonical.com>
2802Cc: Joe Perches <joe@perches.com>
2803Cc: Jonathan Corbet <corbet@lwn.net>
2804Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2805Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" class="message" href="/torvalds/linux/commit/d4ef8d3ff005c70f6c9e2ffea14cc65fc8fe328d">clang-format: add configuration file</a>
2806 </span>
2807 </td>
2808 <td class="age">
2809 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-11T17:28:35Z">Apr 11, 2018</time-ago></span>
2810 </td>
2811 </tr>
2812 <tr class="js-navigation-item">
2813 <td class="icon">
2814 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
2815 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2816 </td>
2817 <td class="content">
2818 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title=".cocciconfig" id="c609419528fc3de9e04320067ec6086b-43967c6b20151ee126db08e24758e3c789bcb844" href="/torvalds/linux/blob/master/.cocciconfig">.cocciconfig</a></span>
2819 </td>
2820 <td class="message">
2821 <span class="css-truncate css-truncate-target">
2822 <a data-pjax="true" title="scripts: add Linux .cocciconfig for coccinelle
2823
2824Coccinelle supports reading .cocciconfig, the order of precedence for
2825variables for .cocciconfig is as follows:
2826
2827 o Your current user's home directory is processed first
2828 o Your directory from which spatch is called is processed next
2829 o The directory provided with the --dir option is processed last, if used
2830
2831Since coccicheck runs through make, it naturally runs from the kernel
2832proper dir, as such the second rule above would be implied for picking up a
2833.cocciconfig when using 'make coccicheck'.
2834
2835'make coccicheck' also supports using M= targets.If you do not supply
2836any M= target, it is assumed you want to target the entire kernel.
2837The kernel coccicheck script has:
2838
2839 if [ "$KBUILD_EXTMOD" = "" ] ; then
2840 OPTIONS="--dir $srctree $COCCIINCLUDE"
2841 else
2842 OPTIONS="--dir $KBUILD_EXTMOD $COCCIINCLUDE"
2843 fi
2844
2845KBUILD_EXTMOD is set when an explicit target with M= is used. For both cases
2846the spatch --dir argument is used, as such third rule applies when
2847whether M= is used or not, and when M= is used the target directory can
2848have its own .cocciconfig file. When M= is not passed as an argument to
2849coccicheck the target directory is the same as the directory from where
2850spatch was called.
2851
2852If not using the kernel's coccicheck target, keep the above precedence order
2853logic of .cocciconfig reading. If using the kernel's coccicheck target,
2854override any of the kernel's .coccicheck's settings using SPFLAGS.
2855
2856We help Coccinelle when used against Linux with a set of sensible defaults
2857options for Linux with our own Linux .cocciconfig. This hints to coccinelle
2858git can be used for 'git grep' queries over coccigrep. A timeout of 200
2859seconds should suffice for now.
2860
2861The options picked up by coccinelle when reading a .cocciconfig do not appear
2862as arguments to spatch processes running on your system, to confirm what
2863options will be used by Coccinelle run:
2864
2865 spatch --print-options-only
2866
2867You can override with your own preferred index option by using SPFLAGS.
2868Coccinelle supports both glimpse and idutils. Glimpse had historically
2869provided the best performance, however recent benchmarks reveal idutils
2870is performing just as well. Due to some recent fixes however you however
2871will need at least coccinelle >= 1.0.6 if using idutils.
2872
2873Coccinelle carries a script scripts/idutils_index.sh which creates the
2874idutils database with as follows:
2875
2876 mkid -i C --output .id-utils.index
2877
2878If using just "--use-idutils" coccinelle expects your idutils database to be
2879on the top level of the kernel as a file named ".id-utils.index". If you do
2880not use this you can symlink your database file to it, or you can specify the
2881database file following the "--use-idutils" argument. Examples:
2882
2883 make SPFLAGS=--use-idutils coccicheck
2884
2885This assumes you have $srctree/.id-utils.index, where $srctree is
2886the top level of the kernel.
2887
2888 make SPFLAGS="--use-idutils /full-path/to/ID" coccicheck
2889
2890Here you specify the full path of the idutils ID database. Using
2891.cocciconfig is possible, however given the order of precedence followed
2892by Coccinelle, and since the kernel now carries its own .cocciconfig,
2893you will need to use SPFLAGS to use idutils if desired.
2894
2895v4:
2896
2897o Recommend upgrade for using idutils with coccinelle due to some
2898 recent fixes.
2899
2900o Refer to using --print-options-only for testing what options are
2901 picked up by .cocciconfig reading.
2902
2903o Expand commit log considerably explaining *why* .cocconfig from
2904 two precedence rules are used when using coccicheck, and how to
2905 properly override these if needed.
2906
2907o Expand Documentation/coccinelle.txt
2908
2909v3: Expand commit log a bit more
2910
2911Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
2912Acked-by: Julia Lawall <julia.lawall@lip6.fr>
2913Signed-off-by: Michal Marek <mmarek@suse.com>" class="message" href="/torvalds/linux/commit/dd951fc1b67b6511d6c8f0449f3d451df374ebce">scripts: add Linux .cocciconfig for coccinelle</a>
2914 </span>
2915 </td>
2916 <td class="age">
2917 <span class="css-truncate css-truncate-target"><time-ago datetime="2016-07-22T10:13:39Z">Jul 22, 2016</time-ago></span>
2918 </td>
2919 </tr>
2920 <tr class="js-navigation-item">
2921 <td class="icon">
2922 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
2923 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2924 </td>
2925 <td class="content">
2926 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title=".get_maintainer.ignore" id="2c1c6da1e102259cafa8aa6971a6f10a-cca6d870f7a57499ffd8be4b3abacaf9fccde9c1" href="/torvalds/linux/blob/master/.get_maintainer.ignore">.get_maintainer.ignore</a></span>
2927 </td>
2928 <td class="message">
2929 <span class="css-truncate css-truncate-target">
2930 <a data-pjax="true" title="Add hch to .get_maintainer.ignore
2931
2932While the idea behind get_maintainer seems highly useful it's
2933unfortunately way to trigger happy to grab people that once had a few
2934commits to files. For someone like me who does a lot of tree-wide API
2935work that leads to an incredible amount of Cc spam.
2936
2937Signed-off-by: Christoph Hellwig <hch@lst.de>
2938Cc: Joe Perches <joe@perches.com>
2939Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2940Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" class="message" href="/torvalds/linux/commit/e525293d97b93a04038e7dc15cee3e9075c32dbd">Add hch to .get_maintainer.ignore</a>
2941 </span>
2942 </td>
2943 <td class="age">
2944 <span class="css-truncate css-truncate-target"><time-ago datetime="2015-08-21T21:30:10Z">Aug 21, 2015</time-ago></span>
2945 </td>
2946 </tr>
2947 <tr class="js-navigation-item">
2948 <td class="icon">
2949 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
2950 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2951 </td>
2952 <td class="content">
2953 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title=".gitattributes" id="fc723d30b02a4cca7a534518111c1a66-89c411b5ce6bb081976d7efb48c2158bb4b2bb86" href="/torvalds/linux/blob/master/.gitattributes">.gitattributes</a></span>
2954 </td>
2955 <td class="message">
2956 <span class="css-truncate css-truncate-target">
2957 <a data-pjax="true" title=".gitattributes: set git diff driver for C source code files
2958
2959Git can be told to apply language-specific rules when generating diffs.
2960Enable this for C source code files (*.c and *.h) so that function names
2961are printed right. Specifically, doing so prevents "git diff" from
2962mistakenly considering unindented goto labels as function names.
2963
2964Link: http://lkml.kernel.org/r/20160907143403.1449324f@endymion
2965Signed-off-by: Jean Delvare <jdelvare@suse.de>
2966Cc: Peter Zijlstra <peterz@infradead.org>
2967Cc: Joe Perches <joe@perches.com>
2968Cc: Jonathan Corbet <corbet@lwn.net>
2969Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2970Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" class="message" href="/torvalds/linux/commit/218dd85887da3d7d08119de18e9d325fcf30d7a4">.gitattributes: set git diff driver for C source code files</a>
2971 </span>
2972 </td>
2973 <td class="age">
2974 <span class="css-truncate css-truncate-target"><time-ago datetime="2016-10-08T01:46:30Z">Oct 8, 2016</time-ago></span>
2975 </td>
2976 </tr>
2977 <tr class="js-navigation-item">
2978 <td class="icon">
2979 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
2980 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
2981 </td>
2982 <td class="content">
2983 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title=".gitignore" id="a084b794bc0759e7a6b77810e01874f2-97ba6b79834c6d20d9612e6b383fc5c69d196e48" href="/torvalds/linux/blob/master/.gitignore">.gitignore</a></span>
2984 </td>
2985 <td class="message">
2986 <span class="css-truncate css-truncate-target">
2987 <a data-pjax="true" title="Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
2988
2989Pull more Kbuild updates from Masahiro Yamada:
2990
2991 - pass HOSTLDFLAGS when compiling single .c host programs
2992
2993 - build genksyms lexer and parser files instead of using shipped
2994 versions
2995
2996 - rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency
2997
2998 - let the top .gitignore globally ignore artifacts generated by flex,
2999 bison, and asn1_compiler
3000
3001 - let the top Makefile globally clean artifacts generated by flex,
3002 bison, and asn1_compiler
3003
3004 - use safer .SECONDARY marker instead of .PRECIOUS to prevent
3005 intermediate files from being removed
3006
3007 - support -fmacro-prefix-map option to make __FILE__ a relative path
3008
3009 - fix # escaping to prepare for the future GNU Make release
3010
3011 - clean up deb-pkg by using debian tools instead of handrolled
3012 source/changes generation
3013
3014 - improve rpm-pkg portability by supporting kernel-install as a
3015 fallback of new-kernel-pkg
3016
3017 - extend Kconfig listnewconfig target to provide more information
3018
3019* tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
3020 kconfig: extend output of 'listnewconfig'
3021 kbuild: rpm-pkg: use kernel-install as a fallback for new-kernel-pkg
3022 Kbuild: fix # escaping in .cmd files for future Make
3023 kbuild: deb-pkg: split generating packaging and build
3024 kbuild: use -fmacro-prefix-map to make __FILE__ a relative path
3025 kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
3026 kbuild: rename *-asn1.[ch] to *.asn1.[ch]
3027 kbuild: clean up *-asn1.[ch] patterns from top-level Makefile
3028 .gitignore: move *-asn1.[ch] patterns to the top-level .gitignore
3029 kbuild: add %.dtb.S and %.dtb to 'targets' automatically
3030 kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
3031 genksyms: generate lexer and parser during build instead of shipping
3032 kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
3033 .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
3034 kbuild: use HOSTLDFLAGS for single .c executables" class="message" href="/torvalds/linux/commit/ca71b3ba4c78c2c05b44be9b257a4127223f0b0c">Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kern…</a>
3035 </span>
3036 </td>
3037 <td class="age">
3038 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T00:21:30Z">Apr 16, 2018</time-ago></span>
3039 </td>
3040 </tr>
3041 <tr class="js-navigation-item">
3042 <td class="icon">
3043 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3044 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3045 </td>
3046 <td class="content">
3047 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title=".mailmap" id="c9d540715cff3469b65ddd01f614848b-7fa9d41fbdaf945c807700300c1b3eb4289eb218" href="/torvalds/linux/blob/master/.mailmap">.mailmap</a></span>
3048 </td>
3049 <td class="message">
3050 <span class="css-truncate css-truncate-target">
3051 <a data-pjax="true" title="Merge tag 'for-linus-unmerged' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
3052
3053Pull rdma updates from Jason Gunthorpe:
3054 "Doug and I are at a conference next week so if another PR is sent I
3055 expect it to only be bug fixes. Parav noted yesterday that there are
3056 some fringe case behavior changes in his work that he would like to
3057 fix, and I see that Intel has a number of rc looking patches for HFI1
3058 they posted yesterday.
3059
3060 Parav is again the biggest contributor by patch count with his ongoing
3061 work to enable container support in the RDMA stack, followed by Leon
3062 doing syzkaller inspired cleanups, though most of the actual fixing
3063 went to RC.
3064
3065 There is one uncomfortable series here fixing the user ABI to actually
3066 work as intended in 32 bit mode. There are lots of notes in the commit
3067 messages, but the basic summary is we don't think there is an actual
3068 32 bit kernel user of drivers/infiniband for several good reasons.
3069
3070 However we are seeing people want to use a 32 bit user space with 64
3071 bit kernel, which didn't completely work today. So in fixing it we
3072 required a 32 bit rxe user to upgrade their userspace. rxe users are
3073 still already quite rare and we think a 32 bit one is non-existing.
3074
3075 - Fix RDMA uapi headers to actually compile in userspace and be more
3076 complete
3077
3078 - Three shared with netdev pull requests from Mellanox:
3079
3080 * 7 patches, mostly to net with 1 IB related one at the back).
3081 This series addresses an IRQ performance issue (patch 1),
3082 cleanups related to the fix for the IRQ performance problem
3083 (patches 2-6), and then extends the fragmented completion queue
3084 support that already exists in the net side of the driver to the
3085 ib side of the driver (patch 7).
3086
3087 * Mostly IB, with 5 patches to net that are needed to support the
3088 remaining 10 patches to the IB subsystem. This series extends
3089 the current 'representor' framework when the mlx5 driver is in
3090 switchdev mode from being a netdev only construct to being a
3091 netdev/IB dev construct. The IB dev is limited to raw Eth queue
3092 pairs only, but by having an IB dev of this type attached to the
3093 representor for a switchdev port, it enables DPDK to work on the
3094 switchdev device.
3095
3096 * All net related, but needed as infrastructure for the rdma
3097 driver
3098
3099 - Updates for the hns, i40iw, bnxt_re, cxgb3, cxgb4, hns drivers
3100
3101 - SRP performance updates
3102
3103 - IB uverbs write path cleanup patch series from Leon
3104
3105 - Add RDMA_CM support to ib_srpt. This is disabled by default. Users
3106 need to set the port for ib_srpt to listen on in configfs in order
3107 for it to be enabled
3108 (/sys/kernel/config/target/srpt/discovery_auth/rdma_cm_port)
3109
3110 - TSO and Scatter FCS support in mlx4
3111
3112 - Refactor of modify_qp routine to resolve problems seen while
3113 working on new code that is forthcoming
3114
3115 - More refactoring and updates of RDMA CM for containers support from
3116 Parav
3117
3118 - mlx5 'fine grained packet pacing', 'ipsec offload' and 'device
3119 memory' user API features
3120
3121 - Infrastructure updates for the new IOCTL interface, based on
3122 increased usage
3123
3124 - ABI compatibility bug fixes to fully support 32 bit userspace on 64
3125 bit kernel as was originally intended. See the commit messages for
3126 extensive details
3127
3128 - Syzkaller bugs and code cleanups motivated by them"
3129
3130* tag 'for-linus-unmerged' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (199 commits)
3131 IB/rxe: Fix for oops in rxe_register_device on ppc64le arch
3132 IB/mlx5: Device memory mr registration support
3133 net/mlx5: Mkey creation command adjustments
3134 IB/mlx5: Device memory support in mlx5_ib
3135 net/mlx5: Query device memory capabilities
3136 IB/uverbs: Add device memory registration ioctl support
3137 IB/uverbs: Add alloc/free dm uverbs ioctl support
3138 IB/uverbs: Add device memory capabilities reporting
3139 IB/uverbs: Expose device memory capabilities to user
3140 RDMA/qedr: Fix wmb usage in qedr
3141 IB/rxe: Removed GID add/del dummy routines
3142 RDMA/qedr: Zero stack memory before copying to user space
3143 IB/mlx5: Add ability to hash by IPSEC_SPI when creating a TIR
3144 IB/mlx5: Add information for querying IPsec capabilities
3145 IB/mlx5: Add IPsec support for egress and ingress
3146 {net,IB}/mlx5: Add ipsec helper
3147 IB/mlx5: Add modify_flow_action_esp verb
3148 IB/mlx5: Add implementation for create and destroy action_xfrm
3149 IB/uverbs: Introduce ESP steering match filter
3150 IB/uverbs: Add modify ESP flow_action
3151 ..." class="message" href="/torvalds/linux/commit/19fd08b85bc7e0502b55cd726f466df82ee7e777">Merge tag 'for-linus-unmerged' of git://git.kernel.org/pub/scm/linux/…</a>
3152 </span>
3153 </td>
3154 <td class="age">
3155 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-07T00:35:43Z">Apr 7, 2018</time-ago></span>
3156 </td>
3157 </tr>
3158 <tr class="js-navigation-item">
3159 <td class="icon">
3160 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3161 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3162 </td>
3163 <td class="content">
3164 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="COPYING" id="7116ef0705885343c9e1b2171a06be0e-da4cb28febe66172a9fdf1a235525ae6c00cde1d" itemprop="license" href="/torvalds/linux/blob/master/COPYING">COPYING</a></span>
3165 </td>
3166 <td class="message">
3167 <span class="css-truncate css-truncate-target">
3168 <a data-pjax="true" title="COPYING: use the new text with points to the license files
3169
3170Now that we have a new COPYING file with points to the
3171Linux license files, replace it with the old content.
3172
3173This patch does:
3174 1 file changed, 0 insertions(+), 0 deletions(-)
3175 rename COPYING.new => COPYING (100%)
3176
3177Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3178Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
3179Signed-off-by: Jonathan Corbet <corbet@lwn.net>" class="message" href="/torvalds/linux/commit/bf02d491237eea10290bd379bf7fc8c37ac6c3b4">COPYING: use the new text with points to the license files</a>
3180 </span>
3181 </td>
3182 <td class="age">
3183 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-03-23T18:41:45Z">Mar 23, 2018</time-ago></span>
3184 </td>
3185 </tr>
3186 <tr class="js-navigation-item">
3187 <td class="icon">
3188 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3189 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3190 </td>
3191 <td class="content">
3192 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="CREDITS" id="e5f53fee4717a20069da09aa7a0f614d-989cda91c427db34e38c84ea9cbcca2fdcb068fb" href="/torvalds/linux/blob/master/CREDITS">CREDITS</a></span>
3193 </td>
3194 <td class="message">
3195 <span class="css-truncate css-truncate-target">
3196 <a data-pjax="true" title="MAINTAINERS/CREDITS: Drop METAG ARCHITECTURE
3197
3198The core Meta architecture support has now been removed, so drop the
3199MAINTAINERS entry and add an entry to CREDITS.
3200
3201Signed-off-by: James Hogan <jhogan@kernel.org>
3202Cc: linux-metag@vger.kernel.org" class="message" href="/torvalds/linux/commit/0b658a1e9a58bdbe4863256a02f0b19f42de7acc">MAINTAINERS/CREDITS: Drop METAG ARCHITECTURE</a>
3203 </span>
3204 </td>
3205 <td class="age">
3206 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-03-05T16:34:24Z">Mar 5, 2018</time-ago></span>
3207 </td>
3208 </tr>
3209 <tr class="js-navigation-item">
3210 <td class="icon">
3211 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3212 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3213 </td>
3214 <td class="content">
3215 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="Kbuild" id="99cd79cd066f57d7f8925989ddeaa55b-00530420548225a8b26a36f504d9aa00468ddb42" href="/torvalds/linux/blob/master/Kbuild">Kbuild</a></span>
3216 </td>
3217 <td class="message">
3218 <span class="css-truncate css-truncate-target">
3219 <a data-pjax="true" title="Merge tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
3220
3221Pull Kbuild updates from Masahiro Yamada:
3222 "One of the most remarkable improvements in this cycle is, Kbuild is
3223 now able to cache the result of shell commands. Some variables are
3224 expensive to compute, for example, $(call cc-option,...) invokes the
3225 compiler. It is not efficient to redo this computation every time,
3226 even when we are not actually building anything. Kbuild creates a
3227 hidden file ".cache.mk" that contains invoked shell commands and their
3228 results. The speed-up should be noticeable.
3229
3230 Summary:
3231
3232 - Fix arch build issues (hexagon, sh)
3233
3234 - Clean up various Makefiles and scripts
3235
3236 - Fix wrong usage of {CFLAGS,LDFLAGS}_MODULE in arch Makefiles
3237
3238 - Cache variables that are expensive to compute
3239
3240 - Improve cc-ldopton and ld-option for Clang
3241
3242 - Optimize output directory creation"
3243
3244* tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits)
3245 kbuild: move coccicheck help from scripts/Makefile.help to top Makefile
3246 sh: decompressor: add shipped files to .gitignore
3247 frv: .gitignore: ignore vmlinux.lds
3248 selinux: remove unnecessary assignment to subdir-
3249 kbuild: specify FORCE in Makefile.headersinst as .PHONY target
3250 kbuild: remove redundant mkdir from ./Kbuild
3251 kbuild: optimize object directory creation for incremental build
3252 kbuild: create object directories simpler and faster
3253 kbuild: filter-out PHONY targets from "targets"
3254 kbuild: remove redundant $(wildcard ...) for cmd_files calculation
3255 kbuild: create directory for make cache only when necessary
3256 sh: select KBUILD_DEFCONFIG depending on ARCH
3257 kbuild: fix linker feature test macros when cross compiling with Clang
3258 kbuild: shrink .cache.mk when it exceeds 1000 lines
3259 kbuild: do not call cc-option before KBUILD_CFLAGS initialization
3260 kbuild: Cache a few more calls to the compiler
3261 kbuild: Add a cache for generated variables
3262 kbuild: add forward declaration of default target to Makefile.asm-generic
3263 kbuild: remove KBUILD_SUBDIR_ASFLAGS and KBUILD_SUBDIR_CCFLAGS
3264 hexagon/kbuild: replace CFLAGS_MODULE with KBUILD_CFLAGS_MODULE
3265 ..." class="message" href="/torvalds/linux/commit/09bd7c75e55cbaa6c731b0c3a5512ad89159f26f">Merge tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel…</a>
3266 </span>
3267 </td>
3268 <td class="age">
3269 <span class="css-truncate css-truncate-target"><time-ago datetime="2017-11-18T01:45:29Z">Nov 18, 2017</time-ago></span>
3270 </td>
3271 </tr>
3272 <tr class="js-navigation-item">
3273 <td class="icon">
3274 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3275 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3276 </td>
3277 <td class="content">
3278 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="Kconfig" id="a8d286f45e576c6843d8137bf3d043ea-8c4c1cb0f9cd44321d340d8ae7e243677437adfb" href="/torvalds/linux/blob/master/Kconfig">Kconfig</a></span>
3279 </td>
3280 <td class="message">
3281 <span class="css-truncate css-truncate-target">
3282 <a data-pjax="true" title="License cleanup: add SPDX GPL-2.0 license identifier to files with no license
3283
3284Many source files in the tree are missing licensing information, which
3285makes it harder for compliance tools to determine the correct license.
3286
3287By default all files without license information are under the default
3288license of the kernel, which is GPL version 2.
3289
3290Update the files which contain no license information with the 'GPL-2.0'
3291SPDX license identifier. The SPDX identifier is a legally binding
3292shorthand, which can be used instead of the full boiler plate text.
3293
3294This patch is based on work done by Thomas Gleixner and Kate Stewart and
3295Philippe Ombredanne.
3296
3297How this work was done:
3298
3299Patches were generated and checked against linux-4.14-rc6 for a subset of
3300the use cases:
3301 - file had no licensing information it it.
3302 - file was a */uapi/* one with no licensing information in it,
3303 - file was a */uapi/* one with existing licensing information,
3304
3305Further patches will be generated in subsequent months to fix up cases
3306where non-standard license headers were used, and references to license
3307had to be inferred by heuristics based on keywords.
3308
3309The analysis to determine which SPDX License Identifier to be applied to
3310a file was done in a spreadsheet of side by side results from of the
3311output of two independent scanners (ScanCode & Windriver) producing SPDX
3312tag:value files created by Philippe Ombredanne. Philippe prepared the
3313base worksheet, and did an initial spot review of a few 1000 files.
3314
3315The 4.13 kernel was the starting point of the analysis with 60,537 files
3316assessed. Kate Stewart did a file by file comparison of the scanner
3317results in the spreadsheet to determine which SPDX license identifier(s)
3318to be applied to the file. She confirmed any determination that was not
3319immediately clear with lawyers working with the Linux Foundation.
3320
3321Criteria used to select files for SPDX license identifier tagging was:
3322 - Files considered eligible had to be source code files.
3323 - Make and config files were included as candidates if they contained >5
3324 lines of source
3325 - File already had some variant of a license header in it (even if <5
3326 lines).
3327
3328All documentation files were explicitly excluded.
3329
3330The following heuristics were used to determine which SPDX license
3331identifiers to apply.
3332
3333 - when both scanners couldn't find any license traces, file was
3334 considered to have no license information in it, and the top level
3335 COPYING file license applied.
3336
3337 For non */uapi/* files that summary was:
3338
3339 SPDX license identifier # files
3340 ---------------------------------------------------|-------
3341 GPL-2.0 11139
3342
3343 and resulted in the first patch in this series.
3344
3345 If that file was a */uapi/* path one, it was "GPL-2.0 WITH
3346 Linux-syscall-note" otherwise it was "GPL-2.0". Results of that was:
3347
3348 SPDX license identifier # files
3349 ---------------------------------------------------|-------
3350 GPL-2.0 WITH Linux-syscall-note 930
3351
3352 and resulted in the second patch in this series.
3353
3354 - if a file had some form of licensing information in it, and was one
3355 of the */uapi/* ones, it was denoted with the Linux-syscall-note if
3356 any GPL family license was found in the file or had no licensing in
3357 it (per prior point). Results summary:
3358
3359 SPDX license identifier # files
3360 ---------------------------------------------------|------
3361 GPL-2.0 WITH Linux-syscall-note 270
3362 GPL-2.0+ WITH Linux-syscall-note 169
3363 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) 21
3364 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 17
3365 LGPL-2.1+ WITH Linux-syscall-note 15
3366 GPL-1.0+ WITH Linux-syscall-note 14
3367 ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) 5
3368 LGPL-2.0+ WITH Linux-syscall-note 4
3369 LGPL-2.1 WITH Linux-syscall-note 3
3370 ((GPL-2.0 WITH Linux-syscall-note) OR MIT) 3
3371 ((GPL-2.0 WITH Linux-syscall-note) AND MIT) 1
3372
3373 and that resulted in the third patch in this series.
3374
3375 - when the two scanners agreed on the detected license(s), that became
3376 the concluded license(s).
3377
3378 - when there was disagreement between the two scanners (one detected a
3379 license but the other didn't, or they both detected different
3380 licenses) a manual inspection of the file occurred.
3381
3382 - In most cases a manual inspection of the information in the file
3383 resulted in a clear resolution of the license that should apply (and
3384 which scanner probably needed to revisit its heuristics).
3385
3386 - When it was not immediately clear, the license identifier was
3387 confirmed with lawyers working with the Linux Foundation.
3388
3389 - If there was any question as to the appropriate license identifier,
3390 the file was flagged for further research and to be revisited later
3391 in time.
3392
3393In total, over 70 hours of logged manual review was done on the
3394spreadsheet to determine the SPDX license identifiers to apply to the
3395source files by Kate, Philippe, Thomas and, in some cases, confirmation
3396by lawyers working with the Linux Foundation.
3397
3398Kate also obtained a third independent scan of the 4.13 code base from
3399FOSSology, and compared selected files where the other two scanners
3400disagreed against that SPDX file, to see if there was new insights. The
3401Windriver scanner is based on an older version of FOSSology in part, so
3402they are related.
3403
3404Thomas did random spot checks in about 500 files from the spreadsheets
3405for the uapi headers and agreed with SPDX license identifier in the
3406files he inspected. For the non-uapi files Thomas did random spot checks
3407in about 15000 files.
3408
3409In initial set of patches against 4.14-rc6, 3 files were found to have
3410copy/paste license identifier errors, and have been fixed to reflect the
3411correct identifier.
3412
3413Additionally Philippe spent 10 hours this week doing a detailed manual
3414inspection and review of the 12,461 patched files from the initial patch
3415version early this week with:
3416 - a full scancode scan run, collecting the matched texts, detected
3417 license ids and scores
3418 - reviewing anything where there was a license detected (about 500+
3419 files) to ensure that the applied SPDX license was correct
3420 - reviewing anything where there was no detection but the patch license
3421 was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
3422 SPDX license was correct
3423
3424This produced a worksheet with 20 files needing minor correction. This
3425worksheet was then exported into 3 different .csv files for the
3426different types of files to be modified.
3427
3428These .csv files were then reviewed by Greg. Thomas wrote a script to
3429parse the csv files and add the proper SPDX tag to the file, in the
3430format that the file expected. This script was further refined by Greg
3431based on the output to detect more types of files automatically and to
3432distinguish between header and source .c files (which need different
3433comment types.) Finally Greg ran the script using the .csv files to
3434generate the patches.
3435
3436Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
3437Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
3438Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
3439Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>" class="message" href="/torvalds/linux/commit/b24413180f5600bcb3bb70fbed5cf186b60864bd">License cleanup: add SPDX GPL-2.0 license identifier to files with no…</a>
3440 </span>
3441 </td>
3442 <td class="age">
3443 <span class="css-truncate css-truncate-target"><time-ago datetime="2017-11-02T10:10:55Z">Nov 2, 2017</time-ago></span>
3444 </td>
3445 </tr>
3446 <tr class="js-navigation-item">
3447 <td class="icon">
3448 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3449 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3450 </td>
3451 <td class="content">
3452 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="MAINTAINERS" id="bb5907b965b501e1856ccd79d2c4f642-0a1410d5a621835ded529ac2d6ade31c306e086f" href="/torvalds/linux/blob/master/MAINTAINERS">MAINTAINERS</a></span>
3453 </td>
3454 <td class="message">
3455 <span class="css-truncate css-truncate-target">
3456 <a data-pjax="true" title="Merge tag 'chrome-platform-for-linus-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform
3457
3458Pull chrome platform updates from Benson Leung:
3459
3460 - a series from Dmitry to remove platform data from chromeos_laptop.c,
3461 which was the only user of platform data for the atmel_mxt_ts driver.
3462
3463 - a series to clean up sysfs and debugfs for cros_ec
3464
3465 - other misc cleanups
3466
3467* tag 'chrome-platform-for-linus-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform: (22 commits)
3468 platform/chrome: mfd/cros_ec_dev: Add sysfs entry to set keyboard wake lid angle
3469 platform/chrome: cros_ec_debugfs: Add PD port info to debugfs
3470 platform/chrome: cros_ec_debugfs: Use octal permissions '0444'
3471 platform/chrome: cros_ec_sysfs: use permission-specific DEVICE_ATTR variants
3472 platform/chrome: cros_ec_sysfs: introduce to_cros_ec_dev define.
3473 platform/chrome: cros_ec_sysfs: Modify error handling
3474 platform/chrome: cros_ec_lpc: Add support for Google devices using custom coreboot firmware
3475 platform/chrome: cros_ec_lpc: wake up from s2idle on Chrome EC
3476 Input: atmel_mxt_ts - remove platform data support
3477 platform/chrome: chromeos_laptop - discard data for unneeded boards
3478 platform/chrome: chromeos_laptop - use device properties for Pixel
3479 platform/chrome: chromeos_laptop - rely on I2C to set up interrupt trigger
3480 platform/chrome: chromeos_laptop - use I2C notifier to create devices
3481 platform/chrome: chromeos_laptop - parse DMI IRQ data once
3482 platform/chrome: chromeos_laptop - rework i2c peripherals initialization
3483 platform/chrome: chromeos_laptop - factor out getting IRQ from DMI
3484 platform/chrome: chromeos_laptop - introduce pr_fmt()
3485 platform/chrome: chromeos_laptop - stop setting suspend mode for Atmel devices
3486 platform/chrome: chromeos_laptop - add SPDX identifier
3487 Input: atmel_mxt_ts - switch ChromeOS ACPI devices to generic props
3488 ..." class="message" href="/torvalds/linux/commit/f6811370b9266a3d8a21e27cb5f46751f97df2fb">Merge tag 'chrome-platform-for-linus-4.17' of git://git.kernel.org/pu…</a>
3489 </span>
3490 </td>
3491 <td class="age">
3492 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-13T23:20:36Z">Apr 13, 2018</time-ago></span>
3493 </td>
3494 </tr>
3495 <tr class="js-navigation-item">
3496 <td class="icon">
3497 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3498 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3499 </td>
3500 <td class="content">
3501 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="Makefile" id="b67911656ef5d18c4ae36cb6741b7965-e811e0c509c5b90add1c607bc664c2bc8cb0d6dc" href="/torvalds/linux/blob/master/Makefile">Makefile</a></span>
3502 </td>
3503 <td class="message">
3504 <span class="css-truncate css-truncate-target">
3505 <a data-pjax="true" title="Linux 4.17-rc1" class="message" href="/torvalds/linux/commit/60cc43fc888428bb2f18f08997432d426a243338">Linux 4.17-rc1</a>
3506 </span>
3507 </td>
3508 <td class="age">
3509 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-04-16T01:24:20Z">Apr 16, 2018</time-ago></span>
3510 </td>
3511 </tr>
3512 <tr class="js-navigation-item">
3513 <td class="icon">
3514 <svg class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>
3515 <img width="16" height="16" class="spinner" alt="" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" />
3516 </td>
3517 <td class="content">
3518 <span class="css-truncate css-truncate-target"><a class="js-navigation-open" title="README" id="c47c7c7383225ab55ff591cb59c41e6b-2c927ccbd97055c71cda2fccc1eaa8b12b93374a" href="/torvalds/linux/blob/master/README">README</a></span>
3519 </td>
3520 <td class="message">
3521 <span class="css-truncate css-truncate-target">
3522 <a data-pjax="true" title="Docs: Added a pointer to the formatted docs to README
3523
3524Kernel.org nicely maintains an online copy of the formatted documentation;
3525tell our users that it exists.
3526
3527Signed-off-by: Jonathan Corbet <corbet@lwn.net>" class="message" href="/torvalds/linux/commit/4b290af0b3a4cca68eaf80f8cf44d3cda3fe6744">Docs: Added a pointer to the formatted docs to README</a>
3528 </span>
3529 </td>
3530 <td class="age">
3531 <span class="css-truncate css-truncate-target"><time-ago datetime="2018-03-21T15:02:53Z">Mar 21, 2018</time-ago></span>
3532 </td>
3533 </tr>
3534 </tbody>
3535 </table>
3536
3537</div>
3538
3539
3540
3541 <div id="readme" class="readme boxed-group clearfix announce instapaper_body ">
3542 <h3>
3543 <svg class="octicon octicon-book" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"/></svg>
3544 README
3545 </h3>
3546
3547 <div class="plain"><pre>Linux kernel
3548============
3549
3550There are several guides for kernel developers and users. These guides can
3551be rendered in a number of formats, like HTML and PDF. Please read
3552Documentation/admin-guide/README.rst first.
3553
3554In order to build the documentation, use ``make htmldocs`` or
3555``make pdfdocs``. The formatted documentation can also be read online at:
3556
3557 <a href="https://www.kernel.org/doc/html/latest/">https://www.kernel.org/doc/html/latest/</a>
3558
3559There are various text files in the Documentation/ subdirectory,
3560several of them using the Restructured Text markup notation.
3561See Documentation/00-INDEX for a list of what is contained in each file.
3562
3563Please read the Documentation/process/changes.rst file, as it contains the
3564requirements for building and running the kernel, and information about
3565the problems which may result by upgrading your kernel.
3566</pre></div>
3567 </div>
3568
3569
3570 </div>
3571 <div class="modal-backdrop js-touch-events"></div>
3572</div>
3573
3574 </div>
3575 </div>
3576
3577 </div>
3578
3579
3580<div class="footer container-lg px-3" role="contentinfo">
3581 <div class="position-relative d-flex flex-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light ">
3582 <ul class="list-style-none d-flex flex-wrap ">
3583 <li class="mr-3">© 2018 <span title="0.27920s from unicorn-615346961-xq3zh">GitHub</span>, Inc.</li>
3584 <li class="mr-3"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li>
3585 <li class="mr-3"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li>
3586 <li class="mr-3"><a href="https://help.github.com/articles/github-security/" data-ga-click="Footer, go to security, text:security">Security</a></li>
3587 <li class="mr-3"><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
3588 <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li>
3589 </ul>
3590
3591 <a aria-label="Homepage" title="GitHub" class="footer-octicon" href="https://github.com">
3592 <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
3593</a>
3594 <ul class="list-style-none d-flex flex-wrap ">
3595 <li class="mr-3"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li>
3596 <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
3597 <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
3598 <li class="mr-3"><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>
3599 <li class="mr-3"><a href="https://blog.github.com" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
3600 <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
3601
3602 </ul>
3603 </div>
3604 <div class="d-flex flex-justify-center pb-6">
3605 <span class="f6 text-gray-light"></span>
3606 </div>
3607</div>
3608
3609
3610
3611 <div id="ajax-error-message" class="ajax-error-message flash flash-error">
3612 <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
3613 <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
3614 <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
3615 </button>
3616 You can't perform that action at this time.
3617 </div>
3618
3619
3620
3621 <script crossorigin="anonymous" integrity="sha512-yNr0q+cdUZ7oyTrEbVbhiYGFYmrAMbaxySSMyAyKD/aeBDYeT5Ljsi7D5VN2pTojNgRVWAwNwv1ub03StbDwhg==" type="application/javascript" src="https://assets-cdn.github.com/assets/frameworks-cae483278a9c7126c25f62f25f2cfb95.js"></script>
3622
3623 <script crossorigin="anonymous" async="async" integrity="sha512-8jmIGPi8VVD8iPhTbRIKWsP504jvYriABlz1xVVSDNljxWKk6RkpUhh80oNMlE7I18zXwiRA8viF+9OmY/4PJw==" type="application/javascript" src="https://assets-cdn.github.com/assets/github-aee23ce1bb818e2e56f43f679d1dcdbf.js"></script>
3624
3625
3626
3627
3628 <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none">
3629 <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
3630 <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
3631 <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
3632 </div>
3633 <div class="facebox" id="facebox" style="display:none;">
3634 <div class="facebox-popup">
3635 <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description">
3636 </div>
3637 <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">
3638 <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
3639 </button>
3640 </div>
3641</div>
3642
3643 <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
3644 <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;">
3645 </div>
3646</div>
3647
3648<div id="hovercard-aria-description" class="sr-only">
3649 Press h to open a hovercard with more details.
3650</div>
3651
3652
3653 </body>
3654</html>