···55 * "cypress,tm2-touchkey" - for the touchkey found on the tm2 board66 * "cypress,midas-touchkey" - for the touchkey found on midas boards77 * "cypress,aries-touchkey" - for the touchkey found on aries boards88+ * "coreriver,tc360-touchkey" - for the Coreriver TouchCore 360 touchkey89- reg: I2C address of the chip.910- interrupts: interrupt to which the chip is connected (see interrupt1011 binding[0]).
···5353encrypting bootstrap code, snapshot, migrating and debugging the guest. For more5454information, see the SEV Key Management spec [api-spec]_55555656+The main ioctl to access SEV is KVM_MEM_ENCRYPT_OP. If the argument5757+to KVM_MEM_ENCRYPT_OP is NULL, the ioctl returns 0 if SEV is enabled5858+and ``ENOTTY` if it is disabled (on some older versions of Linux,5959+the ioctl runs normally even with a NULL argument, and therefore will6060+likely return ``EFAULT``). If non-NULL, the argument to KVM_MEM_ENCRYPT_OP6161+must be a struct kvm_sev_cmd::6262+6363+ struct kvm_sev_cmd {6464+ __u32 id;6565+ __u64 data;6666+ __u32 error;6767+ __u32 sev_fd;6868+ };6969+7070+7171+The ``id`` field contains the subcommand, and the ``data`` field points to7272+another struct containing arguments specific to command. The ``sev_fd``7373+should point to a file descriptor that is opened on the ``/dev/sev``7474+device, if needed (see individual commands).7575+7676+On output, ``error`` is zero on success, or an error code. Error codes7777+are defined in ``<linux/psp-dev.h>`.7878+5679KVM implements the following commands to support common lifecycle events of SEV5780guests, such as launching, running, snapshotting, migrating and decommissioning.5881···11289 };1139011491On success, the 'handle' field contains a new handle and on error, a negative value.9292+9393+KVM_SEV_LAUNCH_START requires the ``sev_fd`` field to be valid.1159411695For more details, see SEV spec Section 6.2.11796
···5353 * PSCI node is not added default, U-boot will add missing5454 * parts if it determines to use PSCI.5555 */5656- entry-method = "arm,psci";5656+ entry-method = "psci";57575858 CPU_PW20: cpu-pw20 {5959 compatible = "arm,idle-state";
···3131CONFIG_IP_PNP_RARP=y3232CONFIG_NETLINK_DIAG=y3333CONFIG_NET_9P=y3434+CONFIG_NET_9P_VIRTIO=y3435CONFIG_PCI=y3536CONFIG_PCIEPORTBUS=y3637CONFIG_PCI_HOST_GENERIC=y···3938CONFIG_DEVTMPFS=y4039CONFIG_DEVTMPFS_MOUNT=y4140CONFIG_BLK_DEV_LOOP=y4141+CONFIG_VIRTIO_BLK=y4242CONFIG_BLK_DEV_SD=y4343CONFIG_BLK_DEV_SR=y4444+CONFIG_SCSI_VIRTIO=y4445CONFIG_ATA=y4546CONFIG_SATA_AHCI=y4647CONFIG_SATA_AHCI_PLATFORM=y4748CONFIG_NETDEVICES=y4949+CONFIG_VIRTIO_NET=y4850CONFIG_MACB=y4951CONFIG_E1000E=y5052CONFIG_R8169=y···5854CONFIG_SERIAL_OF_PLATFORM=y5955CONFIG_SERIAL_EARLYCON_RISCV_SBI=y6056CONFIG_HVC_RISCV_SBI=y5757+CONFIG_VIRTIO_CONSOLE=y6158CONFIG_HW_RANDOM=y5959+CONFIG_HW_RANDOM_VIRTIO=y6260CONFIG_SPI=y6361CONFIG_SPI_SIFIVE=y6462# CONFIG_PTP_1588_CLOCK is not set6563CONFIG_POWER_RESET=y6664CONFIG_DRM=y6765CONFIG_DRM_RADEON=y6666+CONFIG_DRM_VIRTIO_GPU=y6867CONFIG_FRAMEBUFFER_CONSOLE=y6968CONFIG_USB=y7069CONFIG_USB_XHCI_HCD=y···8174CONFIG_MMC=y8275CONFIG_MMC_SPI=y8376CONFIG_RTC_CLASS=y7777+CONFIG_VIRTIO_PCI=y7878+CONFIG_VIRTIO_BALLOON=y7979+CONFIG_VIRTIO_INPUT=y8080+CONFIG_VIRTIO_MMIO=y8181+CONFIG_RPMSG_CHAR=y8282+CONFIG_RPMSG_VIRTIO=y8483CONFIG_EXT4_FS=y8584CONFIG_EXT4_FS_POSIX_ACL=y8685CONFIG_AUTOFS4_FS=y···10188CONFIG_ROOT_NFS=y10289CONFIG_9P_FS=y10390CONFIG_CRYPTO_USER_API_HASH=y9191+CONFIG_CRYPTO_DEV_VIRTIO=y10492CONFIG_PRINTK_TIME=y10593CONFIG_DEBUG_FS=y10694CONFIG_DEBUG_PAGEALLOC=y9595+CONFIG_SCHED_STACK_END_CHECK=y10796CONFIG_DEBUG_VM=y10897CONFIG_DEBUG_VM_PGFLAGS=y10998CONFIG_DEBUG_MEMORY_INIT=y11099CONFIG_DEBUG_PER_CPU_MAPS=y111100CONFIG_SOFTLOCKUP_DETECTOR=y112101CONFIG_WQ_WATCHDOG=y113113-CONFIG_SCHED_STACK_END_CHECK=y114102CONFIG_DEBUG_TIMEKEEPING=y115103CONFIG_DEBUG_RT_MUTEXES=y116104CONFIG_DEBUG_SPINLOCK=y
+15-1
arch/riscv/configs/rv32_defconfig
···3131CONFIG_IP_PNP_RARP=y3232CONFIG_NETLINK_DIAG=y3333CONFIG_NET_9P=y3434+CONFIG_NET_9P_VIRTIO=y3435CONFIG_PCI=y3536CONFIG_PCIEPORTBUS=y3637CONFIG_PCI_HOST_GENERIC=y···3938CONFIG_DEVTMPFS=y4039CONFIG_DEVTMPFS_MOUNT=y4140CONFIG_BLK_DEV_LOOP=y4141+CONFIG_VIRTIO_BLK=y4242CONFIG_BLK_DEV_SD=y4343CONFIG_BLK_DEV_SR=y4444+CONFIG_SCSI_VIRTIO=y4445CONFIG_ATA=y4546CONFIG_SATA_AHCI=y4647CONFIG_SATA_AHCI_PLATFORM=y4748CONFIG_NETDEVICES=y4949+CONFIG_VIRTIO_NET=y4850CONFIG_MACB=y4951CONFIG_E1000E=y5052CONFIG_R8169=y···5854CONFIG_SERIAL_OF_PLATFORM=y5955CONFIG_SERIAL_EARLYCON_RISCV_SBI=y6056CONFIG_HVC_RISCV_SBI=y5757+CONFIG_VIRTIO_CONSOLE=y6158CONFIG_HW_RANDOM=y5959+CONFIG_HW_RANDOM_VIRTIO=y6260# CONFIG_PTP_1588_CLOCK is not set6361CONFIG_POWER_RESET=y6462CONFIG_DRM=y6563CONFIG_DRM_RADEON=y6464+CONFIG_DRM_VIRTIO_GPU=y6665CONFIG_FRAMEBUFFER_CONSOLE=y6766CONFIG_USB=y6867CONFIG_USB_XHCI_HCD=y···7770CONFIG_USB_STORAGE=y7871CONFIG_USB_UAS=y7972CONFIG_RTC_CLASS=y7373+CONFIG_VIRTIO_PCI=y7474+CONFIG_VIRTIO_BALLOON=y7575+CONFIG_VIRTIO_INPUT=y7676+CONFIG_VIRTIO_MMIO=y7777+CONFIG_RPMSG_CHAR=y7878+CONFIG_RPMSG_VIRTIO=y8079CONFIG_EXT4_FS=y8180CONFIG_EXT4_FS_POSIX_ACL=y8281CONFIG_AUTOFS4_FS=y···9784CONFIG_ROOT_NFS=y9885CONFIG_9P_FS=y9986CONFIG_CRYPTO_USER_API_HASH=y8787+CONFIG_CRYPTO_DEV_VIRTIO=y10088CONFIG_PRINTK_TIME=y10189CONFIG_DEBUG_FS=y10290CONFIG_DEBUG_PAGEALLOC=y9191+CONFIG_SCHED_STACK_END_CHECK=y10392CONFIG_DEBUG_VM=y10493CONFIG_DEBUG_VM_PGFLAGS=y10594CONFIG_DEBUG_MEMORY_INIT=y10695CONFIG_DEBUG_PER_CPU_MAPS=y10796CONFIG_SOFTLOCKUP_DETECTOR=y10897CONFIG_WQ_WATCHDOG=y109109-CONFIG_SCHED_STACK_END_CHECK=y11098CONFIG_DEBUG_TIMEKEEPING=y11199CONFIG_DEBUG_RT_MUTEXES=y112100CONFIG_DEBUG_SPINLOCK=y
···19331933static void __unregister_enc_region_locked(struct kvm *kvm,19341934 struct enc_region *region)19351935{19361936- /*19371937- * The guest may change the memory encryption attribute from C=0 -> C=119381938- * or vice versa for this memory range. Lets make sure caches are19391939- * flushed to ensure that guest data gets written into memory with19401940- * correct C-bit.19411941- */19421942- sev_clflush_pages(region->pages, region->npages);19431943-19441936 sev_unpin_memory(kvm, region->pages, region->npages);19451937 list_del(®ion->list);19461938 kfree(region);···19611969 return;1962197019631971 mutex_lock(&kvm->lock);19721972+19731973+ /*19741974+ * Ensure that all guest tagged cache entries are flushed before19751975+ * releasing the pages back to the system for use. CLFLUSH will19761976+ * not do this, so issue a WBINVD.19771977+ */19781978+ wbinvd_on_all_cpus();1964197919651980 /*19661981 * if userspace was terminated before unregistering the memory regions···71577158 if (!svm_sev_enabled())71587159 return -ENOTTY;7159716071617161+ if (!argp)71627162+ return 0;71637163+71607164 if (copy_from_user(&sev_cmd, argp, sizeof(struct kvm_sev_cmd)))71617165 return -EFAULT;71627166···72867284 ret = -EINVAL;72877285 goto failed;72887286 }72877287+72887288+ /*72897289+ * Ensure that all guest tagged cache entries are flushed before72907290+ * releasing the pages back to the system for use. CLFLUSH will72917291+ * not do this, so issue a WBINVD.72927292+ */72937293+ wbinvd_on_all_cpus();7289729472907295 __unregister_enc_region_locked(kvm, region);72917296
···15541554 */15551555static int handle_fastpath_set_x2apic_icr_irqoff(struct kvm_vcpu *vcpu, u64 data)15561556{15571557- if (lapic_in_kernel(vcpu) && apic_x2apic_mode(vcpu->arch.apic) &&15571557+ if (!lapic_in_kernel(vcpu) || !apic_x2apic_mode(vcpu->arch.apic))15581558+ return 1;15591559+15601560+ if (((data & APIC_SHORT_MASK) == APIC_DEST_NOSHORT) &&15581561 ((data & APIC_DEST_MASK) == APIC_DEST_PHYSICAL) &&15591562 ((data & APIC_MODE_MASK) == APIC_DM_FIXED)) {15601563···24472444 vcpu->hv_clock.tsc_timestamp = tsc_timestamp;24482445 vcpu->hv_clock.system_time = kernel_ns + v->kvm->arch.kvmclock_offset;24492446 vcpu->last_guest_tsc = tsc_timestamp;24502450- WARN_ON((s64)vcpu->hv_clock.system_time < 0);2451244724522448 /* If the host uses TSC clocksource, then it is stable */24532449 pvclock_flags = 0;
+3-20
drivers/base/memory.c
···9797}98989999/*100100- * Show whether the memory block is likely to be offlineable (or is already101101- * offline). Once offline, the memory block could be removed. The return102102- * value does, however, not indicate that there is a way to remove the103103- * memory block.100100+ * Legacy interface that we cannot remove. Always indicate "removable"101101+ * with CONFIG_MEMORY_HOTREMOVE - bad heuristic.104102 */105103static ssize_t removable_show(struct device *dev, struct device_attribute *attr,106104 char *buf)107105{108108- struct memory_block *mem = to_memory_block(dev);109109- unsigned long pfn;110110- int ret = 1, i;111111-112112- if (mem->state != MEM_ONLINE)113113- goto out;114114-115115- for (i = 0; i < sections_per_block; i++) {116116- if (!present_section_nr(mem->start_section_nr + i))117117- continue;118118- pfn = section_nr_to_pfn(mem->start_section_nr + i);119119- ret &= is_mem_section_removable(pfn, PAGES_PER_SECTION);120120- }121121-122122-out:123123- return sprintf(buf, "%d\n", ret);106106+ return sprintf(buf, "%d\n", (int)IS_ENABLED(CONFIG_MEMORY_HOTREMOVE));124107}125108126109/*
···974974 /* Map SG to device */975975 r = -ENOMEM;976976 nents = dma_map_sg(adev->dev, ttm->sg->sgl, ttm->sg->nents, direction);977977- if (nents != ttm->sg->nents)977977+ if (nents == 0)978978 goto release_sg;979979980980 /* convert SG to linear array of pages and dma addresses */
+1-1
drivers/gpu/drm/drm_prime.c
···967967968968 index = 0;969969 for_each_sg(sgt->sgl, sg, sgt->nents, count) {970970- len = sg->length;970970+ len = sg_dma_len(sg);971971 page = sg_page(sg);972972 addr = sg_dma_address(sg);973973
+1-1
drivers/gpu/drm/radeon/radeon_ttm.c
···528528529529 r = -ENOMEM;530530 nents = dma_map_sg(rdev->dev, ttm->sg->sgl, ttm->sg->nents, direction);531531- if (nents != ttm->sg->nents)531531+ if (nents == 0)532532 goto release_sg;533533534534 drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages,
···88#include <linux/delay.h>99#include <linux/i2c.h>1010#include <linux/interrupt.h>1111+#include <linux/iopoll.h>1112#include <linux/module.h>1213#include <linux/pci.h>1314#include <linux/platform_device.h>···76757776static int gpu_i2c_check_status(struct gpu_i2c_dev *i2cd)7877{7979- unsigned long target = jiffies + msecs_to_jiffies(1000);8078 u32 val;7979+ int ret;81808282- do {8383- val = readl(i2cd->regs + I2C_MST_CNTL);8484- if (!(val & I2C_MST_CNTL_CYCLE_TRIGGER))8585- break;8686- if ((val & I2C_MST_CNTL_STATUS) !=8787- I2C_MST_CNTL_STATUS_BUS_BUSY)8888- break;8989- usleep_range(500, 600);9090- } while (time_is_after_jiffies(target));8181+ ret = readl_poll_timeout(i2cd->regs + I2C_MST_CNTL, val,8282+ !(val & I2C_MST_CNTL_CYCLE_TRIGGER) ||8383+ (val & I2C_MST_CNTL_STATUS) != I2C_MST_CNTL_STATUS_BUS_BUSY,8484+ 500, 1000 * USEC_PER_MSEC);91859292- if (time_is_before_jiffies(target)) {8686+ if (ret) {9387 dev_err(i2cd->dev, "i2c timeout error %x\n", val);9488 return -ETIMEDOUT;9589 }
+1-1
drivers/i2c/busses/i2c-pca-platform.c
···140140 int ret = 0;141141 int irq;142142143143- irq = platform_get_irq(pdev, 0);143143+ irq = platform_get_irq_optional(pdev, 0);144144 /* If irq is 0, we do polling. */145145 if (irq < 0)146146 irq = 0;
+1
drivers/i2c/busses/i2c-st.c
···434434/**435435 * st_i2c_rd_fill_tx_fifo() - Fill the Tx FIFO in read mode436436 * @i2c_dev: Controller's private data437437+ * @max: Maximum amount of data to fill into the Tx FIFO437438 *438439 * This functions fills the Tx FIFO with fixed pattern when439440 * in read mode to trigger clock.
+3-1
drivers/infiniband/core/device.c
···896896 cdev->dev.parent = device->dev.parent;897897 rdma_init_coredev(cdev, device, read_pnet(&rnet->net));898898 cdev->dev.release = compatdev_release;899899- dev_set_name(&cdev->dev, "%s", dev_name(&device->dev));899899+ ret = dev_set_name(&cdev->dev, "%s", dev_name(&device->dev));900900+ if (ret)901901+ goto add_err;900902901903 ret = device_add(&cdev->dev);902904 if (ret)
···186186 "SYN3052", /* HP EliteBook 840 G4 */187187 "SYN3221", /* HP 15-ay000 */188188 "SYN323d", /* HP Spectre X360 13-w013dx */189189+ "SYN3257", /* HP Envy 13-ad105ng */189190 NULL190191};191192
+2-2
drivers/input/rmi4/rmi_f11.c
···12031203 * If distance threshold values are set, switch to reduced reporting12041204 * mode so they actually get used by the controller.12051205 */12061206- if (ctrl->ctrl0_11[RMI_F11_DELTA_X_THRESHOLD] ||12071207- ctrl->ctrl0_11[RMI_F11_DELTA_Y_THRESHOLD]) {12061206+ if (sensor->axis_align.delta_x_threshold ||12071207+ sensor->axis_align.delta_y_threshold) {12081208 ctrl->ctrl0_11[0] &= ~RMI_F11_REPORT_MODE_MASK;12091209 ctrl->ctrl0_11[0] |= RMI_F11_REPORT_MODE_REDUCED;12101210 }
···157157 */158158159159/**160160+ * ks_check_endian - Check whether endianness of the bus is correct161161+ * @ks : The chip information162162+ *163163+ * The KS8851-16MLL EESK pin allows selecting the endianness of the 16bit164164+ * bus. To maintain optimum performance, the bus endianness should be set165165+ * such that it matches the endianness of the CPU.166166+ */167167+168168+static int ks_check_endian(struct ks_net *ks)169169+{170170+ u16 cider;171171+172172+ /*173173+ * Read CIDER register first, however read it the "wrong" way around.174174+ * If the endian strap on the KS8851-16MLL in incorrect and the chip175175+ * is operating in different endianness than the CPU, then the meaning176176+ * of BE[3:0] byte-enable bits is also swapped such that:177177+ * BE[3,2,1,0] becomes BE[1,0,3,2]178178+ *179179+ * Luckily for us, the byte-enable bits are the top four MSbits of180180+ * the address register and the CIDER register is at offset 0xc0.181181+ * Hence, by reading address 0xc0c0, which is not impacted by endian182182+ * swapping, we assert either BE[3:2] or BE[1:0] while reading the183183+ * CIDER register.184184+ *185185+ * If the bus configuration is correct, reading 0xc0c0 asserts186186+ * BE[3:2] and this read returns 0x0000, because to read register187187+ * with bottom two LSbits of address set to 0, BE[1:0] must be188188+ * asserted.189189+ *190190+ * If the bus configuration is NOT correct, reading 0xc0c0 asserts191191+ * BE[1:0] and this read returns non-zero 0x8872 value.192192+ */193193+ iowrite16(BE3 | BE2 | KS_CIDER, ks->hw_addr_cmd);194194+ cider = ioread16(ks->hw_addr);195195+ if (!cider)196196+ return 0;197197+198198+ netdev_err(ks->netdev, "incorrect EESK endian strap setting\n");199199+200200+ return -EINVAL;201201+}202202+203203+/**160204 * ks_rdreg16 - read 16 bit register from device161205 * @ks : The chip information162206 * @offset: The register address···210166211167static u16 ks_rdreg16(struct ks_net *ks, int offset)212168{213213- ks->cmd_reg_cache = (u16)offset | ((BE3 | BE2) >> (offset & 0x02));169169+ ks->cmd_reg_cache = (u16)offset | ((BE1 | BE0) << (offset & 0x02));214170 iowrite16(ks->cmd_reg_cache, ks->hw_addr_cmd);215171 return ioread16(ks->hw_addr);216172}···225181226182static void ks_wrreg16(struct ks_net *ks, int offset, u16 value)227183{228228- ks->cmd_reg_cache = (u16)offset | ((BE3 | BE2) >> (offset & 0x02));184184+ ks->cmd_reg_cache = (u16)offset | ((BE1 | BE0) << (offset & 0x02));229185 iowrite16(ks->cmd_reg_cache, ks->hw_addr_cmd);230186 iowrite16(value, ks->hw_addr);231187}···241197{242198 len >>= 1;243199 while (len--)244244- *wptr++ = be16_to_cpu(ioread16(ks->hw_addr));200200+ *wptr++ = (u16)ioread16(ks->hw_addr);245201}246202247203/**···255211{256212 len >>= 1;257213 while (len--)258258- iowrite16(cpu_to_be16(*wptr++), ks->hw_addr);214214+ iowrite16(*wptr++, ks->hw_addr);259215}260216261217static void ks_disable_int(struct ks_net *ks)···12611217 err = PTR_ERR(ks->hw_addr_cmd);12621218 goto err_free;12631219 }12201220+12211221+ err = ks_check_endian(ks);12221222+ if (err)12231223+ goto err_free;1264122412651225 netdev->irq = platform_get_irq(pdev, 0);12661226
···51825182 if (!tp->phydev) {51835183 mdiobus_unregister(new_bus);51845184 return -ENODEV;51855185+ } else if (!tp->phydev->drv) {51865186+ /* Most chip versions fail with the genphy driver.51875187+ * Therefore ensure that the dedicated PHY driver is loaded.51885188+ */51895189+ dev_err(&pdev->dev, "realtek.ko not loaded, maybe it needs to be added to initramfs?\n");51905190+ mdiobus_unregister(new_bus);51915191+ return -EUNATCH;51855192 }5186519351875194 /* PHY will be woken up in rtl_open() */···53505343 enum mac_version chipset;53515344 struct net_device *dev;53525345 u16 xid;53535353-53545354- /* Some tools for creating an initramfs don't consider softdeps, then53555355- * r8169.ko may be in initramfs, but realtek.ko not. Then the generic53565356- * PHY driver is used that doesn't work with most chip versions.53575357- */53585358- if (!driver_find("RTL8201CP Ethernet", &mdio_bus_type)) {53595359- dev_err(&pdev->dev, "realtek.ko not loaded, maybe it needs to be added to initramfs?\n");53605360- return -ENOENT;53615361- }5362534653635347 dev = devm_alloc_etherdev(&pdev->dev, sizeof (*tp));53645348 if (!dev)
+2-2
drivers/scsi/qla2xxx/qla_os.c
···864864 goto qc24_fail_command;865865 }866866867867- if (atomic_read(&fcport->state) != FCS_ONLINE) {867867+ if (atomic_read(&fcport->state) != FCS_ONLINE || fcport->deleted) {868868 if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD ||869869 atomic_read(&base_vha->loop_state) == LOOP_DEAD) {870870 ql_dbg(ql_dbg_io, vha, 0x3005,···946946 goto qc24_fail_command;947947 }948948949949- if (atomic_read(&fcport->state) != FCS_ONLINE) {949949+ if (atomic_read(&fcport->state) != FCS_ONLINE || fcport->deleted) {950950 if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD ||951951 atomic_read(&base_vha->loop_state) == LOOP_DEAD) {952952 ql_dbg(ql_dbg_io, vha, 0x3077,
···3737#define CEPH_POOL_FLAG_HASHPSPOOL (1ULL << 0) /* hash pg seed and pool id3838 together */3939#define CEPH_POOL_FLAG_FULL (1ULL << 1) /* pool is full */4040+#define CEPH_POOL_FLAG_FULL_QUOTA (1ULL << 10) /* pool ran out of quota,4141+ will set FULL too */4242+#define CEPH_POOL_FLAG_NEARFULL (1ULL << 11) /* pool is nearfull */40434144struct ceph_pg_pool_info {4245 struct rb_node node;···307304308305extern const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id);309306extern int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name);307307+u64 ceph_pg_pool_flags(struct ceph_osdmap *map, u64 id);310308311309#endif
+4-2
include/linux/ceph/rados.h
···143143/*144144 * osd map flag bits145145 */146146-#define CEPH_OSDMAP_NEARFULL (1<<0) /* sync writes (near ENOSPC) */147147-#define CEPH_OSDMAP_FULL (1<<1) /* no data writes (ENOSPC) */146146+#define CEPH_OSDMAP_NEARFULL (1<<0) /* sync writes (near ENOSPC),147147+ not set since ~luminous */148148+#define CEPH_OSDMAP_FULL (1<<1) /* no data writes (ENOSPC),149149+ not set since ~luminous */148150#define CEPH_OSDMAP_PAUSERD (1<<2) /* pause all reads */149151#define CEPH_OSDMAP_PAUSEWR (1<<3) /* pause all writes */150152#define CEPH_OSDMAP_PAUSEREC (1<<4) /* pause recovery */
···506506 * @smbus_xfer_atomic: same as @smbus_xfer. Yet, only using atomic context507507 * so e.g. PMICs can be accessed very late before shutdown. Optional.508508 * @functionality: Return the flags that this algorithm/adapter pair supports509509- * from the I2C_FUNC_* flags.509509+ * from the ``I2C_FUNC_*`` flags.510510 * @reg_slave: Register given client to I2C slave mode of this adapter511511 * @unreg_slave: Unregister given client from I2C slave mode of this adapter512512 *···515515 * be addressed using the same bus algorithms - i.e. bit-banging or the PCF8584516516 * to name two of the most common.517517 *518518- * The return codes from the @master_xfer{_atomic} fields should indicate the518518+ * The return codes from the ``master_xfer{_atomic}`` fields should indicate the519519 * type of error code that occurred during the transfer, as documented in the520520 * Kernel Documentation file Documentation/i2c/fault-codes.rst.521521 */
+2-2
include/linux/ieee80211.h
···21112111{21122112 struct ieee80211_he_spr *he_spr = (void *)he_spr_ie;21132113 u8 spr_len = sizeof(struct ieee80211_he_spr);21142114- u32 he_spr_params;21142114+ u8 he_spr_params;2115211521162116 /* Make sure the input is not NULL */21172117 if (!he_spr_ie)21182118 return 0;2119211921202120 /* Calc required length */21212121- he_spr_params = le32_to_cpu(he_spr->he_sr_control);21212121+ he_spr_params = he_spr->he_sr_control;21222122 if (he_spr_params & IEEE80211_HE_SPR_NON_SRG_OFFSET_PRESENT)21232123 spr_len++;21242124 if (he_spr_params & IEEE80211_HE_SPR_SRG_INFORMATION_PRESENT)
+12
include/linux/memcontrol.h
···695695void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,696696 int val);697697void __mod_lruvec_slab_state(void *p, enum node_stat_item idx, int val);698698+void mod_memcg_obj_state(void *p, int idx, int val);698699699700static inline void mod_lruvec_state(struct lruvec *lruvec,700701 enum node_stat_item idx, int val)···11241123 __mod_node_page_state(page_pgdat(page), idx, val);11251124}1126112511261126+static inline void mod_memcg_obj_state(void *p, int idx, int val)11271127+{11281128+}11291129+11271130static inline11281131unsigned long mem_cgroup_soft_limit_reclaim(pg_data_t *pgdat, int order,11291132 gfp_t gfp_mask,···14321427 return memcg ? memcg->kmemcg_id : -1;14331428}1434142914301430+struct mem_cgroup *mem_cgroup_from_obj(void *p);14311431+14351432#else1436143314371434static inline int memcg_kmem_charge(struct page *page, gfp_t gfp, int order)···1473146614741467static inline void memcg_put_cache_ids(void)14751468{14691469+}14701470+14711471+static inline struct mem_cgroup *mem_cgroup_from_obj(void *p)14721472+{14731473+ return NULL;14761474}1477147514781476#endif /* CONFIG_MEMCG_KMEM */
+3
include/uapi/linux/input-event-codes.h
···652652/* Electronic privacy screen control */653653#define KEY_PRIVACY_SCREEN_TOGGLE 0x279654654655655+/* Select an area of screen to be copied */656656+#define KEY_SELECTIVE_SCREENSHOT 0x27a657657+655658/*656659 * Some keyboards have keys which do not have a defined meaning, these keys657660 * are intended to be programmed / bound to macros by the user. For most
+5-5
include/uapi/linux/serio.h
···99#ifndef _UAPI_SERIO_H1010#define _UAPI_SERIO_H11111212-1212+#include <linux/const.h>1313#include <linux/ioctl.h>14141515#define SPIOCSTYPE _IOW('q', 0x01, unsigned long)···1818/*1919 * bit masks for use in "interrupt" flags (3rd argument)2020 */2121-#define SERIO_TIMEOUT BIT(0)2222-#define SERIO_PARITY BIT(1)2323-#define SERIO_FRAME BIT(2)2424-#define SERIO_OOB_DATA BIT(3)2121+#define SERIO_TIMEOUT _BITUL(0)2222+#define SERIO_PARITY _BITUL(1)2323+#define SERIO_FRAME _BITUL(2)2424+#define SERIO_OOB_DATA _BITUL(3)25252626/*2727 * Serio types
···323323324324 if (desc->affinity_notify) {325325 kref_get(&desc->affinity_notify->kref);326326- schedule_work(&desc->affinity_notify->work);326326+ if (!schedule_work(&desc->affinity_notify->work)) {327327+ /* Work was already scheduled, drop our extra ref */328328+ kref_put(&desc->affinity_notify->kref,329329+ desc->affinity_notify->release);330330+ }327331 }328332 irqd_set(data, IRQD_AFFINITY_SET);329333···427423 raw_spin_unlock_irqrestore(&desc->lock, flags);428424429425 if (old_notify) {430430- cancel_work_sync(&old_notify->work);426426+ if (cancel_work_sync(&old_notify->work)) {427427+ /* Pending work had a ref, put that one too */428428+ kref_put(&old_notify->kref, old_notify->release);429429+ }431430 kref_put(&old_notify->kref, old_notify->release);432431 }433432
+1-2
mm/hugetlb_cgroup.c
···240240 if (!page_counter_try_charge(&h_cg->hugepage[idx], nr_pages,241241 &counter)) {242242 ret = -ENOMEM;243243- hugetlb_event(hugetlb_cgroup_from_counter(counter, idx), idx,244244- HUGETLB_MAX);243243+ hugetlb_event(h_cg, idx, HUGETLB_MAX);245244 }246245 css_put(&h_cg->css);247246done:
+38
mm/memcontrol.c
···777777 rcu_read_unlock();778778}779779780780+void mod_memcg_obj_state(void *p, int idx, int val)781781+{782782+ struct mem_cgroup *memcg;783783+784784+ rcu_read_lock();785785+ memcg = mem_cgroup_from_obj(p);786786+ if (memcg)787787+ mod_memcg_state(memcg, idx, val);788788+ rcu_read_unlock();789789+}790790+780791/**781792 * __count_memcg_events - account VM events in a cgroup782793 * @memcg: the memory cgroup···26722661}2673266226742663#ifdef CONFIG_MEMCG_KMEM26642664+/*26652665+ * Returns a pointer to the memory cgroup to which the kernel object is charged.26662666+ *26672667+ * The caller must ensure the memcg lifetime, e.g. by taking rcu_read_lock(),26682668+ * cgroup_mutex, etc.26692669+ */26702670+struct mem_cgroup *mem_cgroup_from_obj(void *p)26712671+{26722672+ struct page *page;26732673+26742674+ if (mem_cgroup_disabled())26752675+ return NULL;26762676+26772677+ page = virt_to_head_page(p);26782678+26792679+ /*26802680+ * Slab pages don't have page->mem_cgroup set because corresponding26812681+ * kmem caches can be reparented during the lifetime. That's why26822682+ * memcg_from_slab_page() should be used instead.26832683+ */26842684+ if (PageSlab(page))26852685+ return memcg_from_slab_page(page);26862686+26872687+ /* All other pages use page->mem_cgroup */26882688+ return page->mem_cgroup;26892689+}26902690+26752691static int memcg_alloc_cache_id(void)26762692{26772693 int id, size;
+6
mm/sparse.c
···781781 ms->usage = NULL;782782 }783783 memmap = sparse_decode_mem_map(ms->section_mem_map, section_nr);784784+ /*785785+ * Mark the section invalid so that valid_section()786786+ * return false. This prevents code from dereferencing787787+ * ms->usage array.788788+ */789789+ ms->section_mem_map &= ~SECTION_HAS_MEM_MAP;784790 }785791786792 if (section_is_early && memmap)
+20-21
mm/swapfile.c
···28992899 p->bdev = inode->i_sb->s_bdev;29002900 }2901290129022902- inode_lock(inode);29032903- if (IS_SWAPFILE(inode))29042904- return -EBUSY;29052905-29062902 return 0;29072903}29082904···31533157 mapping = swap_file->f_mapping;31543158 inode = mapping->host;3155315931563156- /* will take i_rwsem; */31573160 error = claim_swapfile(p, inode);31583161 if (unlikely(error))31593162 goto bad_swap;31633163+31643164+ inode_lock(inode);31653165+ if (IS_SWAPFILE(inode)) {31663166+ error = -EBUSY;31673167+ goto bad_swap_unlock_inode;31683168+ }3160316931613170 /*31623171 * Read the swap header.31633172 */31643173 if (!mapping->a_ops->readpage) {31653174 error = -EINVAL;31663166- goto bad_swap;31753175+ goto bad_swap_unlock_inode;31673176 }31683177 page = read_mapping_page(mapping, 0, swap_file);31693178 if (IS_ERR(page)) {31703179 error = PTR_ERR(page);31713171- goto bad_swap;31803180+ goto bad_swap_unlock_inode;31723181 }31733182 swap_header = kmap(page);3174318331753184 maxpages = read_swap_header(p, swap_header, inode);31763185 if (unlikely(!maxpages)) {31773186 error = -EINVAL;31783178- goto bad_swap;31873187+ goto bad_swap_unlock_inode;31793188 }3180318931813190 /* OK, set up the swap map and apply the bad block list */31823191 swap_map = vzalloc(maxpages);31833192 if (!swap_map) {31843193 error = -ENOMEM;31853185- goto bad_swap;31943194+ goto bad_swap_unlock_inode;31863195 }3187319631883197 if (bdi_cap_stable_pages_required(inode_to_bdi(inode)))···32123211 GFP_KERNEL);32133212 if (!cluster_info) {32143213 error = -ENOMEM;32153215- goto bad_swap;32143214+ goto bad_swap_unlock_inode;32163215 }3217321632183217 for (ci = 0; ci < nr_cluster; ci++)···32213220 p->percpu_cluster = alloc_percpu(struct percpu_cluster);32223221 if (!p->percpu_cluster) {32233222 error = -ENOMEM;32243224- goto bad_swap;32233223+ goto bad_swap_unlock_inode;32253224 }32263225 for_each_possible_cpu(cpu) {32273226 struct percpu_cluster *cluster;···3235323432363235 error = swap_cgroup_swapon(p->type, maxpages);32373236 if (error)32383238- goto bad_swap;32373237+ goto bad_swap_unlock_inode;3239323832403239 nr_extents = setup_swap_map_and_extents(p, swap_header, swap_map,32413240 cluster_info, maxpages, &span);32423241 if (unlikely(nr_extents < 0)) {32433242 error = nr_extents;32443244- goto bad_swap;32433243+ goto bad_swap_unlock_inode;32453244 }32463245 /* frontswap enabled? set up bit-per-page map for frontswap */32473246 if (IS_ENABLED(CONFIG_FRONTSWAP))···3281328032823281 error = init_swap_address_space(p->type, maxpages);32833282 if (error)32843284- goto bad_swap;32833283+ goto bad_swap_unlock_inode;3285328432863285 /*32873286 * Flush any pending IO and dirty mappings before we start using this···32913290 error = inode_drain_writes(inode);32923291 if (error) {32933292 inode->i_flags &= ~S_SWAPFILE;32943294- goto bad_swap;32933293+ goto bad_swap_unlock_inode;32953294 }3296329532973296 mutex_lock(&swapon_mutex);···3316331533173316 error = 0;33183317 goto out;33183318+bad_swap_unlock_inode:33193319+ inode_unlock(inode);33193320bad_swap:33203321 free_percpu(p->percpu_cluster);33213322 p->percpu_cluster = NULL;···33253322 set_blocksize(p->bdev, p->old_block_size);33263323 blkdev_put(p->bdev, FMODE_READ | FMODE_WRITE | FMODE_EXCL);33273324 }33253325+ inode = NULL;33283326 destroy_swap_extents(p);33293327 swap_cgroup_swapoff(p->type);33303328 spin_lock(&swap_lock);···33373333 kvfree(frontswap_map);33383334 if (inced_nr_rotate_swap)33393335 atomic_dec(&nr_rotate_swap);33403340- if (swap_file) {33413341- if (inode) {33423342- inode_unlock(inode);33433343- inode = NULL;33443344- }33363336+ if (swap_file)33453337 filp_close(swap_file, NULL);33463346- }33473338out:33483339 if (page && !IS_ERR(page)) {33493340 kunmap(page);
···10491049 might_sleep();10501050 lockdep_assert_held(&local->sta_mtx);1051105110521052+ while (sta->sta_state == IEEE80211_STA_AUTHORIZED) {10531053+ ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC);10541054+ WARN_ON_ONCE(ret);10551055+ }10561056+10521057 /* now keys can no longer be reached */10531058 ieee80211_free_sta_keys(local, sta);10541059
···2019201920202020 spin_lock_bh(&rdev->bss_lock);2021202120222022- if (WARN_ON(cbss->pub.channel == chan))20222022+ /*20232023+ * Some APs use CSA also for bandwidth changes, i.e., without actually20242024+ * changing the control channel, so no need to update in such a case.20252025+ */20262026+ if (cbss->pub.channel == chan)20232027 goto done;2024202820252029 /* use transmitting bss */
···2323#include "srcpos.h"2424#include "dtc-parser.tab.h"25252626-YYLTYPE yylloc;2726extern bool treesource_error;28272928/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
+27-4
scripts/parse-maintainers.pl
···88my $output_file = "MAINTAINERS.new";99my $output_section = "SECTION.new";1010my $help = 0;1111-1111+my $order = 0;1212my $P = $0;13131414if (!GetOptions(1515 'input=s' => \$input_file,1616 'output=s' => \$output_file,1717 'section=s' => \$output_section,1818+ 'order!' => \$order,1819 'h|help|usage' => \$help,1920 )) {2021 die "$P: invalid argument - use --help if necessary\n";···3332 --input => MAINTAINERS file to read (default: MAINTAINERS)3433 --output => sorted MAINTAINERS file to write (default: MAINTAINERS.new)3534 --section => new sorted MAINTAINERS file to write to (default: SECTION.new)3535+ --order => Use the preferred section content output ordering (default: 0)3636+ Preferred ordering of section output is:3737+ M: Person acting as a maintainer3838+ R: Person acting as a patch reviewer3939+ L: Mailing list where patches should be sent4040+ S: Maintenance status4141+ W: URI for general information4242+ Q: URI for patchwork tracking4343+ B: URI for bug tracking/submission4444+ C: URI for chat4545+ P: URI or file for subsystem specific coding styles4646+ T: SCM tree type and location4747+ F: File and directory pattern4848+ X: File and directory exclusion pattern4949+ N: File glob5050+ K: Keyword - patch content regex36513752If <pattern match regexes> exist, then the sections that match the3853regexes are not written to the output file but are written to the···73567457sub by_pattern($$) {7558 my ($a, $b) = @_;7676- my $preferred_order = 'MRPLSWTQBCFXNK';5959+ my $preferred_order = 'MRLSWQBCPTFXNK';77607861 my $a1 = uc(substr($a, 0, 1));7962 my $b1 = uc(substr($b, 0, 1));···122105 print $file $separator;123106 }124107 print $file $key . "\n";125125- foreach my $pattern (sort by_pattern split('\n', %$hashref{$key})) {126126- print $file ($pattern . "\n");108108+ if ($order) {109109+ foreach my $pattern (sort by_pattern split('\n', %$hashref{$key})) {110110+ print $file ($pattern . "\n");111111+ }112112+ } else {113113+ foreach my $pattern (split('\n', %$hashref{$key})) {114114+ print $file ($pattern . "\n");115115+ }127116 }128117 }129118 }