···14811481 By default, super page will be supported if Intel IOMMU14821482 has the capability. With this option, super page will14831483 not be supported.14841484+ ecs_off [Default Off]14851485+ By default, extended context tables will be supported if14861486+ the hardware advertises that it has support both for the14871487+ extended tables themselves, and also PASID support. With14881488+ this option set, extended tables will not be used even14891489+ on hardware which claims to support them.1484149014851491 intel_idle.max_cstate= [KNL,HW,ACPI,X86]14861492 0 disables intel_idle and fall back on acpi_idle.
+1-1
Documentation/networking/udplite.txt
···2020 files/UDP-Lite-HOWTO.txt21212222 o The Wireshark UDP-Lite WiKi (with capture files):2323- http://wiki.wireshark.org/Lightweight_User_Datagram_Protocol2323+ https://wiki.wireshark.org/Lightweight_User_Datagram_Protocol24242525 o The Protocol Spec, RFC 3828, http://www.ietf.org/rfc/rfc3828.txt2626
···406406407407config BLK_DEV_PMEM408408 tristate "Persistent memory block device support"409409+ depends on HAS_IOMEM409410 help410411 Saying Y here will allow you to use a contiguous range of reserved411412 memory as one or more persistent block devices.
+2
drivers/block/zram/zram_drv.c
···805805 memset(&zram->stats, 0, sizeof(zram->stats));806806 zram->disksize = 0;807807 zram->max_comp_streams = 1;808808+808809 set_capacity(zram->disk, 0);810810+ part_stat_set_all(&zram->disk->part0, 0);809811810812 up_write(&zram->init_lock);811813 /* I/O operation under all of CPU are done so let's free */
+17-3
drivers/gpu/drm/i915/intel_i2c.c
···435435 struct intel_gmbus,436436 adapter);437437 struct drm_i915_private *dev_priv = bus->dev_priv;438438- int i, reg_offset;438438+ int i = 0, inc, try = 0, reg_offset;439439 int ret = 0;440440441441 intel_aux_display_runtime_get(dev_priv);···448448449449 reg_offset = dev_priv->gpio_mmio_base;450450451451+retry:451452 I915_WRITE(GMBUS0 + reg_offset, bus->reg0);452453453453- for (i = 0; i < num; i++) {454454+ for (; i < num; i += inc) {455455+ inc = 1;454456 if (gmbus_is_index_read(msgs, i, num)) {455457 ret = gmbus_xfer_index_read(dev_priv, &msgs[i]);456456- i += 1; /* set i to the index of the read xfer */458458+ inc = 2; /* an index read is two msgs */457459 } else if (msgs[i].flags & I2C_M_RD) {458460 ret = gmbus_xfer_read(dev_priv, &msgs[i], 0);459461 } else {···526524 DRM_DEBUG_KMS("GMBUS [%s] NAK for addr: %04x %c(%d)\n",527525 adapter->name, msgs[i].addr,528526 (msgs[i].flags & I2C_M_RD) ? 'r' : 'w', msgs[i].len);527527+528528+ /*529529+ * Passive adapters sometimes NAK the first probe. Retry the first530530+ * message once on -ENXIO for GMBUS transfers; the bit banging algorithm531531+ * has retries internally. See also the retry loop in532532+ * drm_do_probe_ddc_edid, which bails out on the first -ENXIO.533533+ */534534+ if (ret == -ENXIO && i == 0 && try++ == 0) {535535+ DRM_DEBUG_KMS("GMBUS [%s] NAK on first message, retry\n",536536+ adapter->name);537537+ goto retry;538538+ }529539530540 goto out;531541
+1-1
drivers/gpu/drm/i915/intel_sdvo.c
···2550255025512551 DRM_DEBUG_KMS("initialising analog device %d\n", device);2552255225532553- intel_sdvo_connector = kzalloc(sizeof(*intel_sdvo_connector), GFP_KERNEL);25532553+ intel_sdvo_connector = intel_sdvo_connector_alloc();25542554 if (!intel_sdvo_connector)25552555 return false;25562556
+1-6
drivers/gpu/drm/radeon/atombios_crtc.c
···580580 else581581 radeon_crtc->pll_flags |= RADEON_PLL_PREFER_LOW_REF_DIV;582582583583- /* if there is no audio, set MINM_OVER_MAXP */584584- if (!drm_detect_monitor_audio(radeon_connector_edid(connector)))585585- radeon_crtc->pll_flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;586583 if (rdev->family < CHIP_RV770)587584 radeon_crtc->pll_flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;588585 /* use frac fb div on APUs */···17951798 if ((crtc->mode.clock == test_crtc->mode.clock) &&17961799 (adjusted_clock == test_adjusted_clock) &&17971800 (radeon_crtc->ss_enabled == test_radeon_crtc->ss_enabled) &&17981798- (test_radeon_crtc->pll_id != ATOM_PPLL_INVALID) &&17991799- (drm_detect_monitor_audio(radeon_connector_edid(test_radeon_crtc->connector)) ==18001800- drm_detect_monitor_audio(radeon_connector_edid(radeon_crtc->connector))))18011801+ (test_radeon_crtc->pll_id != ATOM_PPLL_INVALID))18011802 return test_radeon_crtc->pll_id;18021803 }18031804 }
+15
drivers/gpu/drm/radeon/radeon_device.c
···14631463 if (r)14641464 DRM_ERROR("ib ring test failed (%d).\n", r);1465146514661466+ /*14671467+ * Turks/Thames GPU will freeze whole laptop if DPM is not restarted14681468+ * after the CP ring have chew one packet at least. Hence here we stop14691469+ * and restart DPM after the radeon_ib_ring_tests().14701470+ */14711471+ if (rdev->pm.dpm_enabled &&14721472+ (rdev->pm.pm_method == PM_METHOD_DPM) &&14731473+ (rdev->family == CHIP_TURKS) &&14741474+ (rdev->flags & RADEON_IS_MOBILITY)) {14751475+ mutex_lock(&rdev->pm.mutex);14761476+ radeon_dpm_disable(rdev);14771477+ radeon_dpm_enable(rdev);14781478+ mutex_unlock(&rdev->pm.mutex);14791479+ }14801480+14661481 if ((radeon_testing & 1)) {14671482 if (rdev->accel_working)14681483 radeon_test_moves(rdev);
+12-5
drivers/gpu/drm/radeon/radeon_vm.c
···458458 /* make sure object fit at this offset */459459 eoffset = soffset + size;460460 if (soffset >= eoffset) {461461- return -EINVAL;461461+ r = -EINVAL;462462+ goto error_unreserve;462463 }463464464465 last_pfn = eoffset / RADEON_GPU_PAGE_SIZE;465466 if (last_pfn > rdev->vm_manager.max_pfn) {466467 dev_err(rdev->dev, "va above limit (0x%08X > 0x%08X)\n",467468 last_pfn, rdev->vm_manager.max_pfn);468468- return -EINVAL;469469+ r = -EINVAL;470470+ goto error_unreserve;469471 }470472471473 } else {···488486 "(bo %p 0x%010lx 0x%010lx)\n", bo_va->bo,489487 soffset, tmp->bo, tmp->it.start, tmp->it.last);490488 mutex_unlock(&vm->mutex);491491- return -EINVAL;489489+ r = -EINVAL;490490+ goto error_unreserve;492491 }493492 }494493···500497 tmp = kzalloc(sizeof(struct radeon_bo_va), GFP_KERNEL);501498 if (!tmp) {502499 mutex_unlock(&vm->mutex);503503- return -ENOMEM;500500+ r = -ENOMEM;501501+ goto error_unreserve;504502 }505503 tmp->it.start = bo_va->it.start;506504 tmp->it.last = bo_va->it.last;···559555 r = radeon_vm_clear_bo(rdev, pt);560556 if (r) {561557 radeon_bo_unref(&pt);562562- radeon_bo_reserve(bo_va->bo, false);563558 return r;564559 }565560···578575579576 mutex_unlock(&vm->mutex);580577 return 0;578578+579579+error_unreserve:580580+ radeon_bo_unreserve(bo_va->bo);581581+ return r;581582}582583583584/**
···422422static int dmar_forcedac;423423static int intel_iommu_strict;424424static int intel_iommu_superpage = 1;425425+static int intel_iommu_ecs = 1;426426+427427+/* We only actually use ECS when PASID support (on the new bit 40)428428+ * is also advertised. Some early implementations — the ones with429429+ * PASID support on bit 28 — have issues even when we *only* use430430+ * extended root/context tables. */431431+#define ecs_enabled(iommu) (intel_iommu_ecs && ecap_ecs(iommu->ecap) && \432432+ ecap_pasid(iommu->ecap))425433426434int intel_iommu_gfx_mapped;427435EXPORT_SYMBOL_GPL(intel_iommu_gfx_mapped);···473465 printk(KERN_INFO474466 "Intel-IOMMU: disable supported super page\n");475467 intel_iommu_superpage = 0;468468+ } else if (!strncmp(str, "ecs_off", 7)) {469469+ printk(KERN_INFO470470+ "Intel-IOMMU: disable extended context table support\n");471471+ intel_iommu_ecs = 0;476472 }477473478474 str += strcspn(str, ",");···681669 struct context_entry *context;682670 u64 *entry;683671684684- if (ecap_ecs(iommu->ecap)) {672672+ if (ecs_enabled(iommu)) {685673 if (devfn >= 0x80) {686674 devfn -= 0x80;687675 entry = &root->hi;···818806 if (context)819807 free_pgtable_page(context);820808821821- if (!ecap_ecs(iommu->ecap))809809+ if (!ecs_enabled(iommu))822810 continue;823811824812 context = iommu_context_addr(iommu, i, 0x80, 0);···11531141 unsigned long flag;1154114211551143 addr = virt_to_phys(iommu->root_entry);11561156- if (ecap_ecs(iommu->ecap))11441144+ if (ecs_enabled(iommu))11571145 addr |= DMA_RTADDR_RTT;1158114611591147 raw_spin_lock_irqsave(&iommu->register_lock, flag);
···131131{132132 struct enic *enic = netdev_priv(netdev);133133 struct vnic_devcmd_fw_info *fw_info;134134+ int err;134135135135- enic_dev_fw_info(enic, &fw_info);136136+ err = enic_dev_fw_info(enic, &fw_info);137137+ /* return only when pci_zalloc_consistent fails in vnic_dev_fw_info138138+ * For other failures, like devcmd failure, we return previously139139+ * recorded info.140140+ */141141+ if (err == -ENOMEM)142142+ return;136143137144 strlcpy(drvinfo->driver, DRV_NAME, sizeof(drvinfo->driver));138145 strlcpy(drvinfo->version, DRV_VERSION, sizeof(drvinfo->version));···188181 struct enic *enic = netdev_priv(netdev);189182 struct vnic_stats *vstats;190183 unsigned int i;184184+ int err;191185192192- enic_dev_stats_dump(enic, &vstats);186186+ err = enic_dev_stats_dump(enic, &vstats);187187+ /* return only when pci_zalloc_consistent fails in vnic_dev_stats_dump188188+ * For other failures, like devcmd failure, we return previously189189+ * recorded stats.190190+ */191191+ if (err == -ENOMEM)192192+ return;193193194194 for (i = 0; i < enic_n_tx_stats; i++)195195 *(data++) = ((u64 *)&vstats->tx)[enic_tx_stats[i].index];
+9-2
drivers/net/ethernet/cisco/enic/enic_main.c
···615615{616616 struct enic *enic = netdev_priv(netdev);617617 struct vnic_stats *stats;618618+ int err;618619619619- enic_dev_stats_dump(enic, &stats);620620+ err = enic_dev_stats_dump(enic, &stats);621621+ /* return only when pci_zalloc_consistent fails in vnic_dev_stats_dump622622+ * For other failures, like devcmd failure, we return previously623623+ * recorded stats.624624+ */625625+ if (err == -ENOMEM)626626+ return net_stats;620627621628 net_stats->tx_packets = stats->tx.tx_frames_ok;622629 net_stats->tx_bytes = stats->tx.tx_bytes_ok;···14141407 */14151408 enic_calc_int_moderation(enic, &enic->rq[rq]);1416140914101410+ enic_poll_unlock_napi(&enic->rq[rq]);14171411 if (work_done < work_to_do) {1418141214191413 /* Some work done, but not enough to stay in polling,···14261418 enic_set_int_moderation(enic, &enic->rq[rq]);14271419 vnic_intr_unmask(&enic->intr[intr]);14281420 }14291429- enic_poll_unlock_napi(&enic->rq[rq]);1430142114311422 return work_done;14321423}
+4-5
drivers/net/ethernet/cisco/enic/vnic_rq.c
···188188 struct vnic_rq_buf *buf;189189 u32 fetch_index;190190 unsigned int count = rq->ring.desc_count;191191+ int i;191192192193 buf = rq->to_clean;193194194194- while (vnic_rq_desc_used(rq) > 0) {195195-195195+ for (i = 0; i < rq->ring.desc_count; i++) {196196 (*buf_clean)(rq, buf);197197-198198- buf = rq->to_clean = buf->next;199199- rq->ring.desc_avail++;197197+ buf = buf->next;200198 }199199+ rq->ring.desc_avail = rq->ring.desc_count - 1;201200202201 /* Use current fetch_index as the ring starting point */203202 fetch_index = ioread32(&rq->ctrl->fetch_index);
···23232323 css_get_many(&memcg->css, batch);23242324 if (batch > nr_pages)23252325 refill_stock(memcg, batch - nr_pages);23262326+ if (!(gfp_mask & __GFP_WAIT))23272327+ goto done;23262328 /*23272329 * If the hierarchy is above the normal consumption range,23282330 * make the charging task trim their excess contribution.···58355833 if (!mem_cgroup_is_root(memcg))58365834 page_counter_uncharge(&memcg->memory, 1);5837583558385838- /* XXX: caller holds IRQ-safe mapping->tree_lock */58395839- VM_BUG_ON(!irqs_disabled());58405840-58365836+ /* Caller disabled preemption with mapping->tree_lock */58415837 mem_cgroup_charge_statistics(memcg, page, -1);58425838 memcg_check_events(memcg, page);58435839}
+3-1
mm/memory_hotplug.c
···19691969 * wait_table may be allocated from boot memory,19701970 * here only free if it's allocated by vmalloc.19711971 */19721972- if (is_vmalloc_addr(zone->wait_table))19721972+ if (is_vmalloc_addr(zone->wait_table)) {19731973 vfree(zone->wait_table);19741974+ zone->wait_table = NULL;19751975+ }19741976 }19751977}19761978EXPORT_SYMBOL(try_offline_node);
+2-1
mm/zsmalloc.c
···289289290290static void destroy_handle_cache(struct zs_pool *pool)291291{292292- kmem_cache_destroy(pool->handle_cachep);292292+ if (pool->handle_cachep)293293+ kmem_cache_destroy(pool->handle_cachep);293294}294295295296static unsigned long alloc_handle(struct zs_pool *pool)
+3-4
net/bridge/br_multicast.c
···11641164 struct net_bridge_port *p;11651165 struct hlist_node *slot = NULL;1166116611671167+ if (!hlist_unhashed(&port->rlist))11681168+ return;11691169+11671170 hlist_for_each_entry(p, &br->router_list, rlist) {11681171 if ((unsigned long) port >= (unsigned long) p)11691172 break;···11941191 if (port->multicast_router != 1)11951192 return;1196119311971197- if (!hlist_unhashed(&port->rlist))11981198- goto timer;11991199-12001194 br_multicast_add_router(br, port);1201119512021202-timer:12031196 mod_timer(&port->multicast_router_timer,12041197 now + br->multicast_querier_interval);12051198}
···354354355355 /*356356 * SOCK_MEMALLOC is allowed to ignore rmem limits to ensure forward357357- * progress of swapping. However, if SOCK_MEMALLOC is cleared while358358- * it has rmem allocations there is a risk that the user of the359359- * socket cannot make forward progress due to exceeding the rmem360360- * limits. By rights, sk_clear_memalloc() should only be called361361- * on sockets being torn down but warn and reset the accounting if362362- * that assumption breaks.357357+ * progress of swapping. SOCK_MEMALLOC may be cleared while358358+ * it has rmem allocations due to the last swapfile being deactivated359359+ * but there is a risk that the socket is unusable due to exceeding360360+ * the rmem limits. Reclaim the reserves and obey rmem limits again.363361 */364364- if (WARN_ON(sk->sk_forward_alloc))365365- sk_mem_reclaim(sk);362362+ sk_mem_reclaim(sk);366363}367364EXPORT_SYMBOL_GPL(sk_clear_memalloc);368365···1869187218701873 pfrag->offset = 0;18711874 if (SKB_FRAG_PAGE_ORDER) {18721872- pfrag->page = alloc_pages(gfp | __GFP_COMP |18751875+ pfrag->page = alloc_pages((gfp & ~__GFP_WAIT) | __GFP_COMP |18731876 __GFP_NOWARN | __GFP_NORETRY,18741877 SKB_FRAG_PAGE_ORDER);18751878 if (likely(pfrag->page)) {
+3-5
net/ipv6/ip6_input.c
···212212 */213213214214 rcu_read_lock();215215+resubmit:215216 idev = ip6_dst_idev(skb_dst(skb));216217 if (!pskb_pull(skb, skb_transport_offset(skb)))217218 goto discard;218219 nhoff = IP6CB(skb)->nhoff;219220 nexthdr = skb_network_header(skb)[nhoff];220221221221-resubmit:222222 raw = raw6_local_deliver(skb, nexthdr);223223 ipprot = rcu_dereference(inet6_protos[nexthdr]);224224 if (ipprot) {···246246 goto discard;247247248248 ret = ipprot->handler(skb);249249- if (ret < 0) {250250- nexthdr = -ret;249249+ if (ret > 0)251250 goto resubmit;252252- } else if (ret == 0) {251251+ else if (ret == 0)253252 IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INDELIVERS);254254- }255253 } else {256254 if (!raw) {257255 if (xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) {
+11
net/mpls/af_mpls.c
···564564 case NETDEV_UNREGISTER:565565 mpls_ifdown(dev);566566 break;567567+ case NETDEV_CHANGENAME:568568+ mdev = mpls_dev_get(dev);569569+ if (mdev) {570570+ int err;571571+572572+ mpls_dev_sysctl_unregister(mdev);573573+ err = mpls_dev_sysctl_register(dev, mdev);574574+ if (err)575575+ return notifier_from_errno(err);576576+ }577577+ break;567578 }568579 return NOTIFY_OK;569580}
+10-1
net/sctp/auth.c
···381381}382382383383384384-/* Public interface to creat the association shared key.384384+/* Public interface to create the association shared key.385385 * See code above for the algorithm.386386 */387387int sctp_auth_asoc_init_active_key(struct sctp_association *asoc, gfp_t gfp)388388{389389 struct sctp_auth_bytes *secret;390390 struct sctp_shared_key *ep_key;391391+ struct sctp_chunk *chunk;391392392393 /* If we don't support AUTH, or peer is not capable393394 * we don't need to do anything.···410409411410 sctp_auth_key_put(asoc->asoc_shared_key);412411 asoc->asoc_shared_key = secret;412412+413413+ /* Update send queue in case any chunk already in there now414414+ * needs authenticating415415+ */416416+ list_for_each_entry(chunk, &asoc->outqueue.out_chunk_list, list) {417417+ if (sctp_auth_send_cid(chunk->chunk_hdr->type, asoc))418418+ chunk->auth = 1;419419+ }413420414421 return 0;415422}
···31693169 }3170317031713171# check for global initialisers.31723172- if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/) {31723172+ if ($line =~ /^\+$Type\s*$Ident(?:\s+$Modifier)*\s*=\s*(?:0|NULL|false)\s*;/) {31733173 if (ERROR("GLOBAL_INITIALISERS",31743174 "do not initialise globals to 0 or NULL\n" .31753175 $herecurr) &&31763176 $fix) {31773177- $fixed[$fixlinenr] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/;31773177+ $fixed[$fixlinenr] =~ s/(^.$Type\s*$Ident(?:\s+$Modifier)*)\s*=\s*(0|NULL|false)\s*;/$1;/;31783178 }31793179 }31803180# check for static initialisers.