From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A52ECC43219 for ; Fri, 7 Oct 2022 18:01:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229933AbiJGSBe (ORCPT ); Fri, 7 Oct 2022 14:01:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59754 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229627AbiJGSBd (ORCPT ); Fri, 7 Oct 2022 14:01:33 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D16ACBFD2; Fri, 7 Oct 2022 11:01:30 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E4AF3614C6; Fri, 7 Oct 2022 18:01:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E596C433C1; Fri, 7 Oct 2022 18:01:23 +0000 (UTC) Authentication-Results: smtp.kernel.org; dkim=pass (1024-bit key) header.d=zx2c4.com header.i=@zx2c4.com header.b="PzPvv0/s" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1665165681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BojkAi/8g8zu4lZz0PvCkndQfyCzqdQaTWLu1pNCOPk=; b=PzPvv0/sFx+rE2w1nUakQF5MvPduBWehdWEbt582GHOR90tiK1OYTz+eYVG54lM5c6K1dI 0LFijwn9UaLZ252fxSbTtSzwmYygJS0kuZbVWDGmZT9LF614rzbcHtpwCupOjC4ZibXX7r /ihKdEqhcGTGGSnevdpXgjnK9+jGCKM= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 6b781aa4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 7 Oct 2022 18:01:21 +0000 (UTC) From: "Jason A. Donenfeld" To: linux-kernel@vger.kernel.org, patches@lists.linux.dev Cc: "Jason A. Donenfeld" , Andreas Noever , Andrew Morton , Andy Shevchenko , Borislav Petkov , Catalin Marinas , =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , Christoph Hellwig , Christophe Leroy , Daniel Borkmann , Dave Airlie , Dave Hansen , "David S . Miller" , Eric Dumazet , Florian Westphal , Greg Kroah-Hartman , "H . Peter Anvin" , Heiko Carstens , Helge Deller , Herbert Xu , Huacai Chen , Hugh Dickins , Jakub Kicinski , "James E . J . Bottomley" , Jan Kara , Jason Gunthorpe , Jens Axboe , Johannes Berg , Jonathan Corbet , Jozsef Kadlecsik , KP Singh , Kees Cook , Marco Elver , Mauro Carvalho Chehab , Michael Ellerman , Pablo Neira Ayuso , Paolo Abeni , Peter Zijlstra , Richard Weinberger , Russell King , Theodore Ts'o , Thomas Bogendoerfer , Thomas Gleixner , Thomas Graf , Ulf Hansson , Vignesh Raghavendra , WANG Xuerui , Will Deacon , Yury Norov , dri-devel@lists.freedesktop.org, kasan-dev@googlegroups.com, kernel-janitors@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-block@vger.kernel.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, linux-parisc@vger.kernel.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, linux-um@lists.infradead.org, linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Subject: [PATCH v4 0/6] treewide cleanup of random integer usage Date: Fri, 7 Oct 2022 12:01:01 -0600 Message-Id: <20221007180107.216067-1-Jason@zx2c4.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: kernel-janitors@vger.kernel.org Changes v3->v4: - Split coccinelle mechanical step from non-mechanical step. - Handle `get_random_int() & ~PAGE_MASK` -> `prandom_u32_max(PAGE_SIZE)`. Hi folks, This is a five part treewide cleanup of random integer handling. The rules for random integers are: - If you want a secure or an insecure random u64, use get_random_u64(). - If you want a secure or an insecure random u32, use get_random_u32(). * The old function prandom_u32() has been deprecated for a while now and is just a wrapper around get_random_u32(). Same for get_random_int(). - If you want a secure or an insecure random u16, use get_random_u16(). - If you want a secure or an insecure random u8, use get_random_u8(). - If you want secure or insecure random bytes, use get_random_bytes(). * The old function prandom_bytes() has been deprecated for a while now and has long been a wrapper around get_random_bytes(). - If you want a non-uniform random u32, u16, or u8 bounded by a certain open interval maximum, use prandom_u32_max(). * I say "non-uniform", because it doesn't do any rejection sampling or divisions. Hence, it stays within the prandom_* namespace. These rules ought to be applied uniformly, so that we can clean up the deprecated functions, and earn the benefits of using the modern functions. In particular, in addition to the boring substitutions, this patchset accomplishes a few nice effects: - By using prandom_u32_max() with an upper-bound that the compiler can prove at compile-time is ≤65536 or ≤256, internally get_random_u16() or get_random_u8() is used, which wastes fewer batched random bytes, and hence has higher throughput. - By using prandom_u32_max() instead of %, when the upper-bound is not a constant, division is still avoided, because prandom_u32_max() uses a faster multiplication-based trick instead. - By using get_random_u16() or get_random_u8() in cases where the return value is intended to indeed be a u16 or a u8, we waste fewer batched random bytes, and hence have higher throughput. So, based on those rules and benefits from following them, this patchset breaks down into the following five steps, which were done mostly manually, but the first step was split into two patches, the first of which is cocinelle-able: 1) Replace `prandom_u32() % max` and variants thereof with prandom_u32_max(max). 2) Replace `(type)get_random_u32()` and variants thereof with get_random_u16() or get_random_u8(). I took the pains to actually look and see what every lvalue type was across the entire tree. 3) Replace remaining deprecated uses of prandom_u32() and get_random_int() with get_random_u32(). 4) Replace remaining deprecated uses of prandom_bytes() with get_random_bytes(). 5) Remove the deprecated and now-unused prandom_u32() and prandom_bytes() inline wrapper functions. I was thinking of taking this through my random.git tree (on which this series is currently based) and submitting it near the end of the merge window, or waiting for the very end of the 6.1 cycle when there will be the fewest new patches brewing. If somebody with some treewide-cleanup experience might share some wisdom about what the best timing usually winds up being, I'm all ears. Please take a look! At "379 insertions(+), 422 deletions(-)", this should be a somewhat small patchset to review, despite it having the scary "treewide" moniker on it. Thanks, Jason Cc: Andreas Noever Cc: Andrew Morton Cc: Andy Shevchenko Cc: Borislav Petkov Cc: Catalin Marinas Cc: Christoph Böhmwalder Cc: Christoph Hellwig Cc: Christophe Leroy Cc: Daniel Borkmann Cc: Dave Airlie Cc: Dave Hansen Cc: David S. Miller Cc: Eric Dumazet Cc: Florian Westphal Cc: Greg Kroah-Hartman , Cc: H. Peter Anvin Cc: Heiko Carstens Cc: Helge Deller Cc: Herbert Xu Cc: Huacai Chen Cc: Hugh Dickins Cc: Jakub Kicinski Cc: James E.J. Bottomley Cc: Jan Kara Cc: Jason Gunthorpe Cc: Jens Axboe Cc: Johannes Berg Cc: Jonathan Corbet Cc: Jozsef Kadlecsik Cc: KP Singh Cc: Kees Cook Cc: Marco Elver Cc: Mauro Carvalho Chehab Cc: Michael Ellerman Cc: Pablo Neira Ayuso Cc: Paolo Abeni Cc: Peter Zijlstra Cc: Richard Weinberger Cc: Russell King Cc: Theodore Ts'o Cc: Thomas Bogendoerfer Cc: Thomas Gleixner Cc: Thomas Graf Cc: Ulf Hansson Cc: Vignesh Raghavendra Cc: WANG Xuerui Cc: Will Deacon Cc: Yury Norov Cc: dri-devel@lists.freedesktop.org Cc: kasan-dev@googlegroups.com Cc: kernel-janitors@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-block@vger.kernel.org Cc: linux-crypto@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: linux-mips@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-mmc@vger.kernel.org Cc: linux-mtd@lists.infradead.org Cc: linux-nvme@lists.infradead.org Cc: linux-parisc@vger.kernel.org Cc: linux-rdma@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linux-um@lists.infradead.org Cc: linux-usb@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: loongarch@lists.linux.dev Cc: netdev@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: x86@kernel.org Jason A. Donenfeld (6): treewide: use prandom_u32_max() when possible, mechanically treewide: use prandom_u32_max() when possible treewide: use get_random_{u8,u16}() when possible treewide: use get_random_u32() when possible treewide: use get_random_bytes when possible prandom: remove unused functions Documentation/networking/filter.rst | 2 +- arch/arm/kernel/process.c | 2 +- arch/arm/kernel/signal.c | 2 +- arch/arm64/kernel/process.c | 2 +- arch/arm64/kernel/syscall.c | 2 +- arch/loongarch/kernel/process.c | 2 +- arch/loongarch/kernel/vdso.c | 2 +- arch/mips/kernel/process.c | 2 +- arch/mips/kernel/vdso.c | 2 +- arch/parisc/kernel/process.c | 2 +- arch/parisc/kernel/sys_parisc.c | 4 +- arch/parisc/kernel/vdso.c | 2 +- arch/powerpc/crypto/crc-vpmsum_test.c | 2 +- arch/powerpc/kernel/process.c | 2 +- arch/s390/kernel/process.c | 4 +- arch/s390/kernel/vdso.c | 2 +- arch/s390/mm/mmap.c | 2 +- arch/sparc/vdso/vma.c | 2 +- arch/um/kernel/process.c | 2 +- arch/x86/entry/vdso/vma.c | 2 +- arch/x86/kernel/cpu/amd.c | 2 +- arch/x86/kernel/module.c | 2 +- arch/x86/kernel/process.c | 2 +- arch/x86/mm/pat/cpa-test.c | 4 +- block/blk-crypto-fallback.c | 2 +- crypto/async_tx/raid6test.c | 2 +- crypto/testmgr.c | 94 +++++++++---------- drivers/block/drbd/drbd_receiver.c | 4 +- drivers/char/random.c | 11 +-- drivers/dma/dmatest.c | 2 +- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 6 +- .../gpu/drm/i915/selftests/i915_selftest.c | 2 +- drivers/gpu/drm/selftests/test-drm_buddy.c | 2 +- drivers/gpu/drm/selftests/test-drm_mm.c | 2 +- drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/hw/cxgb4/cm.c | 4 +- drivers/infiniband/hw/cxgb4/id_table.c | 4 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 2 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 5 +- drivers/infiniband/hw/mlx4/mad.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 3 +- drivers/md/bcache/request.c | 2 +- drivers/md/raid5-cache.c | 2 +- drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 2 +- .../media/test-drivers/vivid/vivid-radio-rx.c | 4 +- .../test-drivers/vivid/vivid-touch-cap.c | 6 +- drivers/misc/habanalabs/gaudi2/gaudi2.c | 2 +- drivers/mmc/core/core.c | 4 +- drivers/mmc/host/dw_mmc.c | 2 +- drivers/mtd/nand/raw/nandsim.c | 8 +- drivers/mtd/tests/mtd_nandecctest.c | 12 +-- drivers/mtd/tests/speedtest.c | 2 +- drivers/mtd/tests/stresstest.c | 19 +--- drivers/mtd/ubi/debug.c | 2 +- drivers/mtd/ubi/debug.h | 6 +- drivers/net/bonding/bond_main.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/cnic.c | 5 +- .../chelsio/inline_crypto/chtls/chtls_cm.c | 4 +- .../chelsio/inline_crypto/chtls/chtls_io.c | 4 +- drivers/net/ethernet/rocker/rocker_main.c | 8 +- drivers/net/hamradio/baycom_epp.c | 2 +- drivers/net/hamradio/hdlcdrv.c | 2 +- drivers/net/hamradio/yam.c | 2 +- drivers/net/phy/at803x.c | 2 +- drivers/net/wireguard/selftest/allowedips.c | 16 ++-- .../broadcom/brcm80211/brcmfmac/p2p.c | 2 +- .../broadcom/brcm80211/brcmfmac/pno.c | 2 +- .../net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 2 +- .../net/wireless/marvell/mwifiex/cfg80211.c | 4 +- .../wireless/microchip/wilc1000/cfg80211.c | 2 +- .../net/wireless/quantenna/qtnfmac/cfg80211.c | 2 +- drivers/net/wireless/st/cw1200/wsm.c | 2 +- drivers/net/wireless/ti/wlcore/main.c | 2 +- drivers/nvme/common/auth.c | 2 +- drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 4 +- drivers/scsi/fcoe/fcoe_ctlr.c | 4 +- drivers/scsi/lpfc/lpfc_hbadisc.c | 6 +- drivers/scsi/qedi/qedi_main.c | 2 +- drivers/target/iscsi/cxgbit/cxgbit_cm.c | 2 +- drivers/thunderbolt/xdomain.c | 2 +- drivers/video/fbdev/uvesafb.c | 2 +- fs/ceph/inode.c | 2 +- fs/ceph/mdsmap.c | 2 +- fs/exfat/inode.c | 2 +- fs/ext2/ialloc.c | 3 +- fs/ext4/ialloc.c | 7 +- fs/ext4/ioctl.c | 4 +- fs/ext4/mmp.c | 2 +- fs/ext4/super.c | 7 +- fs/f2fs/gc.c | 2 +- fs/f2fs/namei.c | 2 +- fs/f2fs/segment.c | 8 +- fs/fat/inode.c | 2 +- fs/nfsd/nfs4state.c | 4 +- fs/ntfs3/fslog.c | 6 +- fs/ubifs/debug.c | 10 +- fs/ubifs/journal.c | 2 +- fs/ubifs/lpt_commit.c | 14 +-- fs/ubifs/tnc_commit.c | 2 +- fs/xfs/libxfs/xfs_alloc.c | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 4 +- fs/xfs/xfs_error.c | 2 +- fs/xfs/xfs_icache.c | 2 +- fs/xfs/xfs_log.c | 2 +- include/linux/nodemask.h | 2 +- include/linux/prandom.h | 12 --- include/linux/random.h | 5 - include/net/netfilter/nf_queue.h | 2 +- include/net/red.h | 2 +- include/net/sock.h | 2 +- kernel/bpf/bloom_filter.c | 2 +- kernel/bpf/core.c | 6 +- kernel/bpf/hashtab.c | 2 +- kernel/bpf/verifier.c | 2 +- kernel/kcsan/selftest.c | 4 +- kernel/locking/test-ww_mutex.c | 4 +- kernel/time/clocksource.c | 2 +- lib/cmdline_kunit.c | 4 +- lib/fault-inject.c | 2 +- lib/find_bit_benchmark.c | 4 +- lib/kobject.c | 2 +- lib/random32.c | 4 +- lib/reed_solomon/test_rslib.c | 12 +-- lib/sbitmap.c | 4 +- lib/test-string_helpers.c | 2 +- lib/test_fprobe.c | 2 +- lib/test_hexdump.c | 10 +- lib/test_kasan.c | 6 +- lib/test_kprobes.c | 2 +- lib/test_list_sort.c | 2 +- lib/test_min_heap.c | 6 +- lib/test_objagg.c | 2 +- lib/test_rhashtable.c | 6 +- lib/test_vmalloc.c | 19 +--- lib/uuid.c | 2 +- mm/migrate.c | 2 +- mm/shmem.c | 2 +- mm/slab.c | 2 +- mm/slub.c | 2 +- net/802/garp.c | 2 +- net/802/mrp.c | 2 +- net/ceph/mon_client.c | 2 +- net/ceph/osd_client.c | 2 +- net/core/neighbour.c | 2 +- net/core/pktgen.c | 47 +++++----- net/core/stream.c | 2 +- net/dccp/ipv4.c | 4 +- net/ipv4/datagram.c | 2 +- net/ipv4/igmp.c | 6 +- net/ipv4/inet_connection_sock.c | 2 +- net/ipv4/inet_hashtables.c | 2 +- net/ipv4/ip_output.c | 2 +- net/ipv4/route.c | 4 +- net/ipv4/tcp_cdg.c | 2 +- net/ipv4/tcp_ipv4.c | 4 +- net/ipv4/udp.c | 2 +- net/ipv6/addrconf.c | 8 +- net/ipv6/ip6_flowlabel.c | 2 +- net/ipv6/mcast.c | 10 +- net/ipv6/output_core.c | 2 +- net/mac80211/rc80211_minstrel_ht.c | 2 +- net/mac80211/scan.c | 2 +- net/netfilter/ipvs/ip_vs_conn.c | 2 +- net/netfilter/ipvs/ip_vs_twos.c | 4 +- net/netfilter/nf_nat_core.c | 4 +- net/netfilter/xt_statistic.c | 2 +- net/openvswitch/actions.c | 2 +- net/packet/af_packet.c | 2 +- net/rds/bind.c | 2 +- net/sched/act_gact.c | 2 +- net/sched/act_sample.c | 2 +- net/sched/sch_cake.c | 8 +- net/sched/sch_netem.c | 22 ++--- net/sched/sch_pie.c | 2 +- net/sched/sch_sfb.c | 2 +- net/sctp/socket.c | 4 +- net/sunrpc/auth_gss/gss_krb5_wrap.c | 4 +- net/sunrpc/cache.c | 2 +- net/sunrpc/xprt.c | 2 +- net/sunrpc/xprtsock.c | 2 +- net/tipc/socket.c | 2 +- net/unix/af_unix.c | 2 +- net/xfrm/xfrm_state.c | 2 +- 186 files changed, 379 insertions(+), 422 deletions(-) -- 2.37.3 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5195DC4332F for ; Fri, 7 Oct 2022 18:02:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=+Z2k//2/2byXWeorz+jMVsLs1slcXyXxjwev2m7MnaY=; b=UYeua2gh0N15Sd g5vKmEv5nRMmFIILtZGrAuFWEybLy2FfiyV6olzJC7MCUnFpitg1kROHruzrmbryOubuGhGU2YDqe hrcQqLTsgQeMjCU3Czmc6rPOsNsdsaR0o0h8wQ1p45AV38dLBEbFI8Gch9SEAHBRbfKUsadu8dGWQ kyN0UhC2WR4pWL5K5/EHIADkIIxNgXGN2VDXS2jpr1Vf9M218aDheGM9rABMZZ1HQvE6ZRv91ynQh BFa6yL7olcUs3hgbCuIidx2nLvXu6OakK4MKCUU9FPHa0hbZqXYTFNYd3z3C7G8mwfz3AT/TFrOAl epM0a8s2UuTO0RBIO1vg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ogrfE-00A0Ft-Qz; Fri, 07 Oct 2022 18:01:36 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ogrf8-00A0Ck-J0; Fri, 07 Oct 2022 18:01:34 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D53D961747; Fri, 7 Oct 2022 18:01:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E596C433C1; Fri, 7 Oct 2022 18:01:23 +0000 (UTC) Authentication-Results: smtp.kernel.org; dkim=pass (1024-bit key) header.d=zx2c4.com header.i=@zx2c4.com header.b="PzPvv0/s" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1665165681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BojkAi/8g8zu4lZz0PvCkndQfyCzqdQaTWLu1pNCOPk=; b=PzPvv0/sFx+rE2w1nUakQF5MvPduBWehdWEbt582GHOR90tiK1OYTz+eYVG54lM5c6K1dI 0LFijwn9UaLZ252fxSbTtSzwmYygJS0kuZbVWDGmZT9LF614rzbcHtpwCupOjC4ZibXX7r /ihKdEqhcGTGGSnevdpXgjnK9+jGCKM= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 6b781aa4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 7 Oct 2022 18:01:21 +0000 (UTC) From: "Jason A. Donenfeld" To: linux-kernel@vger.kernel.org, patches@lists.linux.dev Cc: "Jason A. Donenfeld" , Andreas Noever , Andrew Morton , Andy Shevchenko , Borislav Petkov , Catalin Marinas , =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , Christoph Hellwig , Christophe Leroy , Daniel Borkmann , Dave Airlie , Dave Hansen , "David S . Miller" , Eric Dumazet , Florian Westphal , Greg Kroah-Hartman , "H . Peter Anvin" , Heiko Carstens , Helge Deller , Herbert Xu , Huacai Chen , Hugh Dickins , Jakub Kicinski , "James E . J . Bottomley" , Jan Kara , Jason Gunthorpe , Jens Axboe , Johannes Berg , Jonathan Corbet , Jozsef Kadlecsik , KP Singh , Kees Cook , Marco Elver , Mauro Carvalho Chehab , Michael Ellerman , Pablo Neira Ayuso , Paolo Abeni , Peter Zijlstra , Richard Weinberger , Russell King , Theodore Ts'o , Thomas Bogendoerfer , Thomas Gleixner , Thomas Graf , Ulf Hansson , Vignesh Raghavendra , WANG Xuerui , Will Deacon , Yury Norov , dri-devel@lists.freedesktop.org, kasan-dev@googlegroups.com, kernel-janitors@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-block@vger.kernel.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, linux-parisc@vger.kernel.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, linux-um@lists.infradead.org, linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Subject: [PATCH v4 0/6] treewide cleanup of random integer usage Date: Fri, 7 Oct 2022 12:01:01 -0600 Message-Id: <20221007180107.216067-1-Jason@zx2c4.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221007_110130_718614_B4ED8787 X-CRM114-Status: GOOD ( 27.12 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org Q2hhbmdlcyB2My0+djQ6Ci0gU3BsaXQgY29jY2luZWxsZSBtZWNoYW5pY2FsIHN0ZXAgZnJvbSBu b24tbWVjaGFuaWNhbCBzdGVwLgotIEhhbmRsZSBgZ2V0X3JhbmRvbV9pbnQoKSAmIH5QQUdFX01B U0tgIC0+IGBwcmFuZG9tX3UzMl9tYXgoUEFHRV9TSVpFKWAuCgpIaSBmb2xrcywKClRoaXMgaXMg YSBmaXZlIHBhcnQgdHJlZXdpZGUgY2xlYW51cCBvZiByYW5kb20gaW50ZWdlciBoYW5kbGluZy4g VGhlCnJ1bGVzIGZvciByYW5kb20gaW50ZWdlcnMgYXJlOgoKLSBJZiB5b3Ugd2FudCBhIHNlY3Vy ZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTY0LCB1c2UgZ2V0X3JhbmRvbV91NjQoKS4KLSBJZiB5 b3Ugd2FudCBhIHNlY3VyZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTMyLCB1c2UgZ2V0X3JhbmRv bV91MzIoKS4KICAqIFRoZSBvbGQgZnVuY3Rpb24gcHJhbmRvbV91MzIoKSBoYXMgYmVlbiBkZXBy ZWNhdGVkIGZvciBhIHdoaWxlIG5vdwogICAgYW5kIGlzIGp1c3QgYSB3cmFwcGVyIGFyb3VuZCBn ZXRfcmFuZG9tX3UzMigpLiBTYW1lIGZvcgogICAgZ2V0X3JhbmRvbV9pbnQoKS4KLSBJZiB5b3Ug d2FudCBhIHNlY3VyZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTE2LCB1c2UgZ2V0X3JhbmRvbV91 MTYoKS4KLSBJZiB5b3Ugd2FudCBhIHNlY3VyZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTgsIHVz ZSBnZXRfcmFuZG9tX3U4KCkuCi0gSWYgeW91IHdhbnQgc2VjdXJlIG9yIGluc2VjdXJlIHJhbmRv bSBieXRlcywgdXNlIGdldF9yYW5kb21fYnl0ZXMoKS4KICAqIFRoZSBvbGQgZnVuY3Rpb24gcHJh bmRvbV9ieXRlcygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGEgd2hpbGUgbm93CiAgICBhbmQg aGFzIGxvbmcgYmVlbiBhIHdyYXBwZXIgYXJvdW5kIGdldF9yYW5kb21fYnl0ZXMoKS4KLSBJZiB5 b3Ugd2FudCBhIG5vbi11bmlmb3JtIHJhbmRvbSB1MzIsIHUxNiwgb3IgdTggYm91bmRlZCBieSBh IGNlcnRhaW4KICBvcGVuIGludGVydmFsIG1heGltdW0sIHVzZSBwcmFuZG9tX3UzMl9tYXgoKS4K ICAqIEkgc2F5ICJub24tdW5pZm9ybSIsIGJlY2F1c2UgaXQgZG9lc24ndCBkbyBhbnkgcmVqZWN0 aW9uIHNhbXBsaW5nIG9yCiAgICBkaXZpc2lvbnMuIEhlbmNlLCBpdCBzdGF5cyB3aXRoaW4gdGhl IHByYW5kb21fKiBuYW1lc3BhY2UuCgpUaGVzZSBydWxlcyBvdWdodCB0byBiZSBhcHBsaWVkIHVu aWZvcm1seSwgc28gdGhhdCB3ZSBjYW4gY2xlYW4gdXAgdGhlCmRlcHJlY2F0ZWQgZnVuY3Rpb25z LCBhbmQgZWFybiB0aGUgYmVuZWZpdHMgb2YgdXNpbmcgdGhlIG1vZGVybgpmdW5jdGlvbnMuIElu IHBhcnRpY3VsYXIsIGluIGFkZGl0aW9uIHRvIHRoZSBib3Jpbmcgc3Vic3RpdHV0aW9ucywgdGhp cwpwYXRjaHNldCBhY2NvbXBsaXNoZXMgYSBmZXcgbmljZSBlZmZlY3RzOgoKLSBCeSB1c2luZyBw cmFuZG9tX3UzMl9tYXgoKSB3aXRoIGFuIHVwcGVyLWJvdW5kIHRoYXQgdGhlIGNvbXBpbGVyIGNh bgogIHByb3ZlIGF0IGNvbXBpbGUtdGltZSBpcyDiiaQ2NTUzNiBvciDiiaQyNTYsIGludGVybmFs bHkgZ2V0X3JhbmRvbV91MTYoKQogIG9yIGdldF9yYW5kb21fdTgoKSBpcyB1c2VkLCB3aGljaCB3 YXN0ZXMgZmV3ZXIgYmF0Y2hlZCByYW5kb20gYnl0ZXMsCiAgYW5kIGhlbmNlIGhhcyBoaWdoZXIg dGhyb3VnaHB1dC4KCi0gQnkgdXNpbmcgcHJhbmRvbV91MzJfbWF4KCkgaW5zdGVhZCBvZiAlLCB3 aGVuIHRoZSB1cHBlci1ib3VuZCBpcyBub3QgYQogIGNvbnN0YW50LCBkaXZpc2lvbiBpcyBzdGls bCBhdm9pZGVkLCBiZWNhdXNlIHByYW5kb21fdTMyX21heCgpIHVzZXMKICBhIGZhc3RlciBtdWx0 aXBsaWNhdGlvbi1iYXNlZCB0cmljayBpbnN0ZWFkLgoKLSBCeSB1c2luZyBnZXRfcmFuZG9tX3Ux NigpIG9yIGdldF9yYW5kb21fdTgoKSBpbiBjYXNlcyB3aGVyZSB0aGUgcmV0dXJuCiAgdmFsdWUg aXMgaW50ZW5kZWQgdG8gaW5kZWVkIGJlIGEgdTE2IG9yIGEgdTgsIHdlIHdhc3RlIGZld2VyIGJh dGNoZWQKICByYW5kb20gYnl0ZXMsIGFuZCBoZW5jZSBoYXZlIGhpZ2hlciB0aHJvdWdocHV0LgoK U28sIGJhc2VkIG9uIHRob3NlIHJ1bGVzIGFuZCBiZW5lZml0cyBmcm9tIGZvbGxvd2luZyB0aGVt LCB0aGlzIHBhdGNoc2V0CmJyZWFrcyBkb3duIGludG8gdGhlIGZvbGxvd2luZyBmaXZlIHN0ZXBz LCB3aGljaCB3ZXJlIGRvbmUgbW9zdGx5Cm1hbnVhbGx5LCBidXQgdGhlIGZpcnN0IHN0ZXAgd2Fz IHNwbGl0IGludG8gdHdvIHBhdGNoZXMsIHRoZSBmaXJzdCBvZgp3aGljaCBpcyBjb2NpbmVsbGUt YWJsZToKCjEpIFJlcGxhY2UgYHByYW5kb21fdTMyKCkgJSBtYXhgIGFuZCB2YXJpYW50cyB0aGVy ZW9mIHdpdGgKICAgcHJhbmRvbV91MzJfbWF4KG1heCkuCgoyKSBSZXBsYWNlIGAodHlwZSlnZXRf cmFuZG9tX3UzMigpYCBhbmQgdmFyaWFudHMgdGhlcmVvZiB3aXRoCiAgIGdldF9yYW5kb21fdTE2 KCkgb3IgZ2V0X3JhbmRvbV91OCgpLiBJIHRvb2sgdGhlIHBhaW5zIHRvIGFjdHVhbGx5CiAgIGxv b2sgYW5kIHNlZSB3aGF0IGV2ZXJ5IGx2YWx1ZSB0eXBlIHdhcyBhY3Jvc3MgdGhlIGVudGlyZSB0 cmVlLgoKMykgUmVwbGFjZSByZW1haW5pbmcgZGVwcmVjYXRlZCB1c2VzIG9mIHByYW5kb21fdTMy KCkgYW5kCiAgIGdldF9yYW5kb21faW50KCkgd2l0aCBnZXRfcmFuZG9tX3UzMigpLiAKCjQpIFJl cGxhY2UgcmVtYWluaW5nIGRlcHJlY2F0ZWQgdXNlcyBvZiBwcmFuZG9tX2J5dGVzKCkgd2l0aAog ICBnZXRfcmFuZG9tX2J5dGVzKCkuCgo1KSBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgYW5kIG5vdy11 bnVzZWQgcHJhbmRvbV91MzIoKSBhbmQKICAgcHJhbmRvbV9ieXRlcygpIGlubGluZSB3cmFwcGVy IGZ1bmN0aW9ucy4KCkkgd2FzIHRoaW5raW5nIG9mIHRha2luZyB0aGlzIHRocm91Z2ggbXkgcmFu ZG9tLmdpdCB0cmVlIChvbiB3aGljaCB0aGlzCnNlcmllcyBpcyBjdXJyZW50bHkgYmFzZWQpIGFu ZCBzdWJtaXR0aW5nIGl0IG5lYXIgdGhlIGVuZCBvZiB0aGUgbWVyZ2UKd2luZG93LCBvciB3YWl0 aW5nIGZvciB0aGUgdmVyeSBlbmQgb2YgdGhlIDYuMSBjeWNsZSB3aGVuIHRoZXJlIHdpbGwgYmUK dGhlIGZld2VzdCBuZXcgcGF0Y2hlcyBicmV3aW5nLiBJZiBzb21lYm9keSB3aXRoIHNvbWUgdHJl ZXdpZGUtY2xlYW51cApleHBlcmllbmNlIG1pZ2h0IHNoYXJlIHNvbWUgd2lzZG9tIGFib3V0IHdo YXQgdGhlIGJlc3QgdGltaW5nIHVzdWFsbHkKd2luZHMgdXAgYmVpbmcsIEknbSBhbGwgZWFycy4K ClBsZWFzZSB0YWtlIGEgbG9vayEgQXQgIjM3OSBpbnNlcnRpb25zKCspLCA0MjIgZGVsZXRpb25z KC0pIiwgdGhpcwpzaG91bGQgYmUgYSBzb21ld2hhdCBzbWFsbCBwYXRjaHNldCB0byByZXZpZXcs IGRlc3BpdGUgaXQgaGF2aW5nIHRoZQpzY2FyeSAidHJlZXdpZGUiIG1vbmlrZXIgb24gaXQuCgpU aGFua3MsCkphc29uCgpDYzogQW5kcmVhcyBOb2V2ZXIgPGFuZHJlYXMubm9ldmVyQGdtYWlsLmNv bT4KQ2M6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBBbmR5 IFNoZXZjaGVua28gPGFuZHJpeS5zaGV2Y2hlbmtvQGxpbnV4LmludGVsLmNvbT4KQ2M6IEJvcmlz bGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPgpDYzogQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1h cmluYXNAYXJtLmNvbT4KQ2M6IENocmlzdG9waCBCw7ZobXdhbGRlciA8Y2hyaXN0b3BoLmJvZWht d2FsZGVyQGxpbmJpdC5jb20+CkNjOiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KQ2M6 IENocmlzdG9waGUgTGVyb3kgPGNocmlzdG9waGUubGVyb3lAY3Nncm91cC5ldT4KQ2M6IERhbmll bCBCb3JrbWFubiA8ZGFuaWVsQGlvZ2VhcmJveC5uZXQ+CkNjOiBEYXZlIEFpcmxpZSA8YWlybGll ZEByZWRoYXQuY29tPgpDYzogRGF2ZSBIYW5zZW4gPGRhdmUuaGFuc2VuQGxpbnV4LmludGVsLmNv bT4KQ2M6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ2M6IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IEZsb3JpYW4gV2VzdHBoYWwgPGZ3QHN0cmxl bi5kZT4KQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+ LApDYzogSC4gUGV0ZXIgQW52aW4gPGhwYUB6eXRvci5jb20+CkNjOiBIZWlrbyBDYXJzdGVucyA8 aGNhQGxpbnV4LmlibS5jb20+CkNjOiBIZWxnZSBEZWxsZXIgPGRlbGxlckBnbXguZGU+CkNjOiBI ZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CkNjOiBIdWFjYWkgQ2hlbiA8 Y2hlbmh1YWNhaUBrZXJuZWwub3JnPgpDYzogSHVnaCBEaWNraW5zIDxodWdoZEBnb29nbGUuY29t PgpDYzogSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KQ2M6IEphbWVzIEUuSi4gQm90 dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+CkNjOiBKYW4gS2FyYSA8amFja0BzdXNlLmNvbT4K Q2M6IEphc29uIEd1bnRob3JwZSA8amdnQHppZXBlLmNhPgpDYzogSmVucyBBeGJvZSA8YXhib2VA a2VybmVsLmRrPgpDYzogSm9oYW5uZXMgQmVyZyA8am9oYW5uZXNAc2lwc29sdXRpb25zLm5ldD4K Q2M6IEpvbmF0aGFuIENvcmJldCA8Y29yYmV0QGx3bi5uZXQ+CkNjOiBKb3pzZWYgS2FkbGVjc2lr IDxrYWRsZWNAbmV0ZmlsdGVyLm9yZz4KQ2M6IEtQIFNpbmdoIDxrcHNpbmdoQGtlcm5lbC5vcmc+ CkNjOiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4KQ2M6IE1hcmNvIEVsdmVyIDxl bHZlckBnb29nbGUuY29tPgpDYzogTWF1cm8gQ2FydmFsaG8gQ2hlaGFiIDxtY2hlaGFiQGtlcm5l bC5vcmc+CkNjOiBNaWNoYWVsIEVsbGVybWFuIDxtcGVAZWxsZXJtYW4uaWQuYXU+CkNjOiBQYWJs byBOZWlyYSBBeXVzbyA8cGFibG9AbmV0ZmlsdGVyLm9yZz4KQ2M6IFBhb2xvIEFiZW5pIDxwYWJl bmlAcmVkaGF0LmNvbT4KQ2M6IFBldGVyIFppamxzdHJhIDxwZXRlcnpAaW5mcmFkZWFkLm9yZz4K Q2M6IFJpY2hhcmQgV2VpbmJlcmdlciA8cmljaGFyZEBub2QuYXQ+CkNjOiBSdXNzZWxsIEtpbmcg PGxpbnV4QGFybWxpbnV4Lm9yZy51az4KQ2M6IFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+ CkNjOiBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0c2JvZ2VuZEBhbHBoYS5mcmFua2VuLmRlPgpDYzog VGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBUaG9tYXMgR3JhZiA8dGdy YWZAc3V1Zy5jaD4KQ2M6IFVsZiBIYW5zc29uIDx1bGYuaGFuc3NvbkBsaW5hcm8ub3JnPgpDYzog VmlnbmVzaCBSYWdoYXZlbmRyYSA8dmlnbmVzaHJAdGkuY29tPgpDYzogV0FORyBYdWVydWkgPGtl cm5lbEB4ZW4wbi5uYW1lPgpDYzogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz4KQ2M6IFl1 cnkgTm9yb3YgPHl1cnkubm9yb3ZAZ21haWwuY29tPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpDYzoga2FzYW4tZGV2QGdvb2dsZWdyb3Vwcy5jb20KQ2M6IGtlcm5lbC1qYW5p dG9yc0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpDYzogbGludXgtYmxvY2tAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1jcnlwdG9Admdl ci5rZXJuZWwub3JnCkNjOiBsaW51eC1kb2NAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1mc2Rl dmVsQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbWVkaWFAdmdlci5rZXJuZWwub3JnCkNjOiBs aW51eC1taXBzQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbW1Aa3ZhY2sub3JnCkNjOiBsaW51 eC1tbWNAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1tdGRAbGlzdHMuaW5mcmFkZWFkLm9yZwpD YzogbGludXgtbnZtZUBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1wYXJpc2NAdmdlci5r ZXJuZWwub3JnCkNjOiBsaW51eC1yZG1hQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtczM5MEB2 Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXVtQGxpc3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4 LXVzYkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXdpcmVsZXNzQHZnZXIua2VybmVsLm9yZwpD YzogbGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmcKQ2M6IGxvb25nYXJjaEBsaXN0cy5saW51 eC5kZXYKQ2M6IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IHNwYXJjbGludXhAdmdlci5rZXJu ZWwub3JnCkNjOiB4ODZAa2VybmVsLm9yZwoKSmFzb24gQS4gRG9uZW5mZWxkICg2KToKICB0cmVl d2lkZTogdXNlIHByYW5kb21fdTMyX21heCgpIHdoZW4gcG9zc2libGUsIG1lY2hhbmljYWxseQog IHRyZWV3aWRlOiB1c2UgcHJhbmRvbV91MzJfbWF4KCkgd2hlbiBwb3NzaWJsZQogIHRyZWV3aWRl OiB1c2UgZ2V0X3JhbmRvbV97dTgsdTE2fSgpIHdoZW4gcG9zc2libGUKICB0cmVld2lkZTogdXNl IGdldF9yYW5kb21fdTMyKCkgd2hlbiBwb3NzaWJsZQogIHRyZWV3aWRlOiB1c2UgZ2V0X3JhbmRv bV9ieXRlcyB3aGVuIHBvc3NpYmxlCiAgcHJhbmRvbTogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMK CiBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZmlsdGVyLnJzdCAgICAgICAgICAgfCAgMiArLQog YXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYyAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFy Y2gvYXJtL2tlcm5lbC9zaWduYWwuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNo L2FybTY0L2tlcm5lbC9wcm9jZXNzLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9h cm02NC9rZXJuZWwvc3lzY2FsbC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbG9v bmdhcmNoL2tlcm5lbC9wcm9jZXNzLmMgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL2xvb25n YXJjaC9rZXJuZWwvdmRzby5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9taXBzL2tl cm5lbC9wcm9jZXNzLmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbWlwcy9rZXJu ZWwvdmRzby5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3BhcmlzYy9rZXJu ZWwvcHJvY2Vzcy5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9wYXJpc2Mva2VybmVs L3N5c19wYXJpc2MuYyAgICAgICAgICAgICAgIHwgIDQgKy0KIGFyY2gvcGFyaXNjL2tlcm5lbC92 ZHNvLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3Bvd2VycGMvY3J5cHRvL2Ny Yy12cG1zdW1fdGVzdC5jICAgICAgICAgfCAgMiArLQogYXJjaC9wb3dlcnBjL2tlcm5lbC9wcm9j ZXNzLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvczM5MC9rZXJuZWwvcHJvY2Vzcy5j ICAgICAgICAgICAgICAgICAgICB8ICA0ICstCiBhcmNoL3MzOTAva2VybmVsL3Zkc28uYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9zMzkwL21tL21tYXAuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvc3BhcmMvdmRzby92bWEuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3VtL2tlcm5lbC9wcm9jZXNzLmMgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogYXJjaC94ODYvZW50cnkvdmRzby92bWEuYyAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBhcmNoL3g4Ni9rZXJuZWwvbW9kdWxlLmMgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYyAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGFyY2gveDg2L21tL3BhdC9jcGEtdGVzdC5jICAgICAgICAgICAgICAgICAg ICB8ICA0ICstCiBibG9jay9ibGstY3J5cHRvLWZhbGxiYWNrLmMgICAgICAgICAgICAgICAgICAg fCAgMiArLQogY3J5cHRvL2FzeW5jX3R4L3JhaWQ2dGVzdC5jICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGNyeXB0by90ZXN0bWdyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDk0 ICsrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvYmxvY2svZHJiZC9kcmJkX3JlY2VpdmVyLmMg ICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2NoYXIvcmFuZG9tLmMgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxMSArLS0KIGRyaXZlcnMvZG1hL2RtYXRlc3QuYyAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiAuLi4vZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVy LmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAg ICAgIHwgIDYgKy0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfc2VsZnRlc3QuYyAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX2J1ZGR5LmMgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jICAgICAgICAgICAgICAgICB8ICAy ICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjQvY20uYyAgICAgICAgICAgICAgfCAgNCAr LQogZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2I0L2lkX3RhYmxlLmMgICAgICAgIHwgIDQgKy0K IGRyaXZlcnMvaW5maW5pYmFuZC9ody9oZmkxL3RpZF9yZG1hLmMgICAgICAgICB8ICAyICstCiBk cml2ZXJzL2luZmluaWJhbmQvaHcvaG5zL2huc19yb2NlX2FoLmMgICAgICAgfCAgNSArLQogZHJp dmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYyAgICAgICB8ICAyICstCiBkcml2ZXJz L2luZmluaWJhbmQvdWxwL3J0cnMvcnRycy1jbHQuYyAgICAgICAgfCAgMyArLQogZHJpdmVycy9t ZC9iY2FjaGUvcmVxdWVzdC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbWQv cmFpZDUtY2FjaGUuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL21lZGlh L2NvbW1vbi92NGwyLXRwZy92NGwyLXRwZy1jb3JlLmMgfCAgMiArLQogLi4uL21lZGlhL3Rlc3Qt ZHJpdmVycy92aXZpZC92aXZpZC1yYWRpby1yeC5jIHwgIDQgKy0KIC4uLi90ZXN0LWRyaXZlcnMv dml2aWQvdml2aWQtdG91Y2gtY2FwLmMgICAgICB8ICA2ICstCiBkcml2ZXJzL21pc2MvaGFiYW5h bGFicy9nYXVkaTIvZ2F1ZGkyLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9tbWMvY29yZS9jb3Jl LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvbW1jL2hvc3QvZHdfbW1j LmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5k c2ltLmMgICAgICAgICAgICAgICAgfCAgOCArLQogZHJpdmVycy9tdGQvdGVzdHMvbXRkX25hbmRl Y2N0ZXN0LmMgICAgICAgICAgIHwgMTIgKy0tCiBkcml2ZXJzL210ZC90ZXN0cy9zcGVlZHRlc3Qu YyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9tdGQvdGVzdHMvc3RyZXNzdGVzdC5j ICAgICAgICAgICAgICAgIHwgMTkgKy0tLQogZHJpdmVycy9tdGQvdWJpL2RlYnVnLmMgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbXRkL3ViaS9kZWJ1Zy5oICAgICAgICAg ICAgICAgICAgICAgICB8ICA2ICstCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jICAg ICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9i bnh0LmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2NuaWMuYyAg ICAgICAgICB8ICA1ICstCiAuLi4vY2hlbHNpby9pbmxpbmVfY3J5cHRvL2NodGxzL2NodGxzX2Nt LmMgICAgfCAgNCArLQogLi4uL2NoZWxzaW8vaW5saW5lX2NyeXB0by9jaHRscy9jaHRsc19pby5j ICAgIHwgIDQgKy0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jICAg ICB8ICA4ICstCiBkcml2ZXJzL25ldC9oYW1yYWRpby9iYXljb21fZXBwLmMgICAgICAgICAgICAg fCAgMiArLQogZHJpdmVycy9uZXQvaGFtcmFkaW8vaGRsY2Rydi5jICAgICAgICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvbmV0L2hhbXJhZGlvL3lhbS5jICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiBkcml2ZXJzL25ldC9waHkvYXQ4MDN4LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9uZXQvd2lyZWd1YXJkL3NlbGZ0ZXN0L2FsbG93ZWRpcHMuYyAgIHwgMTYgKyst LQogLi4uL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9wMnAuYyAgICAgICAgIHwgIDIgKy0K IC4uLi9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvcG5vLmMgICAgICAgICB8ICAyICstCiAu Li4vbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYy1jdHh0LmMgfCAgMiArLQogLi4u L25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvY2ZnODAyMTEuYyAgIHwgIDQgKy0KIC4uLi93 aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEwMDAvY2ZnODAyMTEuYyAgICB8ICAyICstCiAuLi4vbmV0 L3dpcmVsZXNzL3F1YW50ZW5uYS9xdG5mbWFjL2NmZzgwMjExLmMgfCAgMiArLQogZHJpdmVycy9u ZXQvd2lyZWxlc3Mvc3QvY3cxMjAwL3dzbS5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0 L3dpcmVsZXNzL3RpL3dsY29yZS9tYWluLmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL252bWUv Y29tbW9uL2F1dGguYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9zY3NpL2N4 Z2JpL2N4Z2I0aS9jeGdiNGkuYyAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvc2NzaS9mY29l L2Zjb2VfY3Rsci5jICAgICAgICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL3Njc2kvbHBmYy9s cGZjX2hiYWRpc2MuYyAgICAgICAgICAgICAgfCAgNiArLQogZHJpdmVycy9zY3NpL3FlZGkvcWVk aV9tYWluLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvdGFyZ2V0L2lzY3NpL2N4 Z2JpdC9jeGdiaXRfY20uYyAgICAgICB8ICAyICstCiBkcml2ZXJzL3RodW5kZXJib2x0L3hkb21h aW4uYyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy92aWRlby9mYmRldi91dmVzYWZi LmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGZzL2NlcGgvaW5vZGUuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy9jZXBoL21kc21hcC5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogZnMvZXhmYXQvaW5vZGUuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGZzL2V4dDIvaWFsbG9jLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAzICstCiBmcy9leHQ0L2lhbGxvYy5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNyArLQogZnMvZXh0NC9pb2N0bC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDQgKy0KIGZzL2V4dDQvbW1wLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBmcy9leHQ0L3N1cGVyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNyArLQogZnMvZjJmcy9nYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGZzL2YyZnMvbmFtZWkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBmcy9mMmZzL3NlZ21lbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg OCArLQogZnMvZmF0L2lub2RlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGZzL25mc2QvbmZzNHN0YXRlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICst CiBmcy9udGZzMy9mc2xvZy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQog ZnMvdWJpZnMvZGVidWcuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0KIGZz L3ViaWZzL2pvdXJuYWwuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy91 Ymlmcy9scHRfY29tbWl0LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArLS0KIGZzL3Vi aWZzL3RuY19jb21taXQuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy94ZnMv bGlieGZzL3hmc19hbGxvYy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMveGZzL2xp Ynhmcy94ZnNfaWFsbG9jLmMgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGZzL3hmcy94ZnNf ZXJyb3IuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy94ZnMveGZzX2lj YWNoZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMveGZzL3hmc19sb2cu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvbGludXgvbm9k ZW1hc2suaCAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL2xpbnV4L3ByYW5k b20uaCAgICAgICAgICAgICAgICAgICAgICAgfCAxMiAtLS0KIGluY2x1ZGUvbGludXgvcmFuZG9t LmggICAgICAgICAgICAgICAgICAgICAgICB8ICA1IC0KIGluY2x1ZGUvbmV0L25ldGZpbHRlci9u Zl9xdWV1ZS5oICAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL25ldC9yZWQuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9uZXQvc29jay5oICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGtlcm5lbC9icGYvYmxvb21fZmlsdGVyLmMgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBrZXJuZWwvYnBmL2NvcmUuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNiArLQoga2VybmVsL2JwZi9oYXNodGFiLmMgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGtlcm5lbC9icGYvdmVyaWZpZXIuYyAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBrZXJuZWwva2NzYW4vc2VsZnRlc3QuYyAgICAgICAgICAgICAg ICAgICAgICAgfCAgNCArLQoga2VybmVsL2xvY2tpbmcvdGVzdC13d19tdXRleC5jICAgICAgICAg ICAgICAgIHwgIDQgKy0KIGtlcm5lbC90aW1lL2Nsb2Nrc291cmNlLmMgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBsaWIvY21kbGluZV9rdW5pdC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNCArLQogbGliL2ZhdWx0LWluamVjdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGxpYi9maW5kX2JpdF9iZW5jaG1hcmsuYyAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICstCiBsaWIva29iamVjdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogbGliL3JhbmRvbTMyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg Ky0KIGxpYi9yZWVkX3NvbG9tb24vdGVzdF9yc2xpYi5jICAgICAgICAgICAgICAgICB8IDEyICst LQogbGliL3NiaXRtYXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0K IGxpYi90ZXN0LXN0cmluZ19oZWxwZXJzLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBs aWIvdGVzdF9mcHJvYmUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGli L3Rlc3RfaGV4ZHVtcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0KIGxpYi90 ZXN0X2thc2FuLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstCiBsaWIvdGVz dF9rcHJvYmVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliL3Rlc3Rf bGlzdF9zb3J0LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi90ZXN0X21p bl9oZWFwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstCiBsaWIvdGVzdF9vYmph Z2cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliL3Rlc3Rfcmhhc2h0 YWJsZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0KIGxpYi90ZXN0X3ZtYWxsb2Mu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE5ICstLS0KIGxpYi91dWlkLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtbS9taWdyYXRlLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbW0vc2htZW0uYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG1tL3NsYWIuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtbS9zbHViLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV0LzgwMi9nYXJwLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC84MDIvbXJwLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvY2VwaC9tb25fY2xpZW50LmMgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L2NlcGgvb3NkX2NsaWVudC5jICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9jb3JlL25laWdoYm91ci5jICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBuZXQvY29yZS9wa3RnZW4uYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCA0NyArKysrKy0tLS0tCiBuZXQvY29yZS9zdHJlYW0uYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L2RjY3AvaXB2NC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKy0KIG5ldC9pcHY0L2RhdGFncmFtLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBuZXQvaXB2NC9pZ21wLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNiArLQogbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYyAgICAgICAg ICAgICAgIHwgIDIgKy0KIG5ldC9pcHY0L2luZXRfaGFzaHRhYmxlcy5jICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBuZXQvaXB2NC9pcF9vdXRwdXQuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbmV0L2lwdjQvcm91dGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDQgKy0KIG5ldC9pcHY0L3RjcF9jZGcuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBuZXQvaXB2NC90Y3BfaXB2NC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NCArLQogbmV0L2lwdjQvdWRwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIG5ldC9pcHY2L2FkZHJjb25mLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICst CiBuZXQvaXB2Ni9pcDZfZmxvd2xhYmVsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQog bmV0L2lwdjYvbWNhc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0KIG5l dC9pcHY2L291dHB1dF9jb3JlLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQv bWFjODAyMTEvcmM4MDIxMV9taW5zdHJlbF9odC5jICAgICAgICAgICAgfCAgMiArLQogbmV0L21h YzgwMjExL3NjYW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9uZXRm aWx0ZXIvaXB2cy9pcF92c19jb25uLmMgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvbmV0Zmls dGVyL2lwdnMvaXBfdnNfdHdvcy5jICAgICAgICAgICAgICAgfCAgNCArLQogbmV0L25ldGZpbHRl ci9uZl9uYXRfY29yZS5jICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIG5ldC9uZXRmaWx0ZXIv eHRfc3RhdGlzdGljLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvb3BlbnZzd2l0Y2gv YWN0aW9ucy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L3BhY2tldC9hZl9wYWNr ZXQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9yZHMvYmluZC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvc2NoZWQvYWN0X2dhY3QuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9zYW1wbGUuYyAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9zY2hfY2FrZS5jICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA4ICstCiBuZXQvc2NoZWQvc2NoX25ldGVtLmMgICAgICAg ICAgICAgICAgICAgICAgICAgfCAyMiArKy0tLQogbmV0L3NjaGVkL3NjaF9waWUuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9zY2hfc2ZiLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvc2N0cC9zb2NrZXQuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNCArLQogbmV0L3N1bnJwYy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFw LmMgICAgICAgICAgIHwgIDQgKy0KIG5ldC9zdW5ycGMvY2FjaGUuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBuZXQvc3VucnBjL3hwcnQuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogbmV0L3N1bnJwYy94cHJ0c29jay5jICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIG5ldC90aXBjL3NvY2tldC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBuZXQvdW5peC9hZl91bml4LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbmV0L3hmcm0veGZybV9zdGF0ZS5jICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIDE4NiBmaWxlcyBjaGFuZ2VkLCAzNzkgaW5zZXJ0aW9ucygrKSwgNDIyIGRlbGV0 aW9ucygtKQoKLS0gCjIuMzcuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Jason A. Donenfeld" Subject: [PATCH v4 0/6] treewide cleanup of random integer usage Date: Fri, 7 Oct 2022 12:01:01 -0600 Message-Id: <20221007180107.216067-1-Jason@zx2c4.com> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-um" Errors-To: linux-um-bounces+geert=linux-m68k.org@lists.infradead.org To: linux-kernel@vger.kernel.org, patches@lists.linux.dev Cc: "Jason A. Donenfeld" , Andreas Noever , Andrew Morton , Andy Shevchenko , Borislav Petkov , Catalin Marinas , =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , Christoph Hellwig , Christophe Leroy , Daniel Borkmann , Dave Airlie , Dave Hansen , "David S . Miller" , Eric Dumazet , Florian Westphal , Greg Kroah-Hartman , "H . Peter Anvin" , Heiko Carstens , Helge Deller , Herbert Xu , Huacai Chen , Hugh Dickins , Jakub Kicinski , "James E . J . Bottomley" , Jan Kara , Jason Gunthorpe , Jens Axboe , Johannes Berg , Jonathan Corbet , Jozsef Kadlecsik , KP Singh , Kees Cook , Marco Elver , Mauro Carvalho Chehab , Michael Ellerman , Pablo Neira Ayuso , Paolo Abeni , Peter Zijlstra , Richard Weinberger , Russell King , Theodore Ts'o , Thomas Bogendoerfer , Thomas Gleixner , Thomas Graf , Ulf Hansson , Vignesh Raghavendra , WANG Xuerui , Will Deacon , Yury Norov , dri-devel@lists.freedesktop.org, kasan-dev@googlegroups.com, kernel-janitors@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-block@vger.kernel.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, linux-parisc@vger.kernel.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, linux-um@lists.infradead.org, linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Q2hhbmdlcyB2My0+djQ6Ci0gU3BsaXQgY29jY2luZWxsZSBtZWNoYW5pY2FsIHN0ZXAgZnJvbSBu b24tbWVjaGFuaWNhbCBzdGVwLgotIEhhbmRsZSBgZ2V0X3JhbmRvbV9pbnQoKSAmIH5QQUdFX01B U0tgIC0+IGBwcmFuZG9tX3UzMl9tYXgoUEFHRV9TSVpFKWAuCgpIaSBmb2xrcywKClRoaXMgaXMg YSBmaXZlIHBhcnQgdHJlZXdpZGUgY2xlYW51cCBvZiByYW5kb20gaW50ZWdlciBoYW5kbGluZy4g VGhlCnJ1bGVzIGZvciByYW5kb20gaW50ZWdlcnMgYXJlOgoKLSBJZiB5b3Ugd2FudCBhIHNlY3Vy ZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTY0LCB1c2UgZ2V0X3JhbmRvbV91NjQoKS4KLSBJZiB5 b3Ugd2FudCBhIHNlY3VyZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTMyLCB1c2UgZ2V0X3JhbmRv bV91MzIoKS4KICAqIFRoZSBvbGQgZnVuY3Rpb24gcHJhbmRvbV91MzIoKSBoYXMgYmVlbiBkZXBy ZWNhdGVkIGZvciBhIHdoaWxlIG5vdwogICAgYW5kIGlzIGp1c3QgYSB3cmFwcGVyIGFyb3VuZCBn ZXRfcmFuZG9tX3UzMigpLiBTYW1lIGZvcgogICAgZ2V0X3JhbmRvbV9pbnQoKS4KLSBJZiB5b3Ug d2FudCBhIHNlY3VyZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTE2LCB1c2UgZ2V0X3JhbmRvbV91 MTYoKS4KLSBJZiB5b3Ugd2FudCBhIHNlY3VyZSBvciBhbiBpbnNlY3VyZSByYW5kb20gdTgsIHVz ZSBnZXRfcmFuZG9tX3U4KCkuCi0gSWYgeW91IHdhbnQgc2VjdXJlIG9yIGluc2VjdXJlIHJhbmRv bSBieXRlcywgdXNlIGdldF9yYW5kb21fYnl0ZXMoKS4KICAqIFRoZSBvbGQgZnVuY3Rpb24gcHJh bmRvbV9ieXRlcygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGEgd2hpbGUgbm93CiAgICBhbmQg aGFzIGxvbmcgYmVlbiBhIHdyYXBwZXIgYXJvdW5kIGdldF9yYW5kb21fYnl0ZXMoKS4KLSBJZiB5 b3Ugd2FudCBhIG5vbi11bmlmb3JtIHJhbmRvbSB1MzIsIHUxNiwgb3IgdTggYm91bmRlZCBieSBh IGNlcnRhaW4KICBvcGVuIGludGVydmFsIG1heGltdW0sIHVzZSBwcmFuZG9tX3UzMl9tYXgoKS4K ICAqIEkgc2F5ICJub24tdW5pZm9ybSIsIGJlY2F1c2UgaXQgZG9lc24ndCBkbyBhbnkgcmVqZWN0 aW9uIHNhbXBsaW5nIG9yCiAgICBkaXZpc2lvbnMuIEhlbmNlLCBpdCBzdGF5cyB3aXRoaW4gdGhl IHByYW5kb21fKiBuYW1lc3BhY2UuCgpUaGVzZSBydWxlcyBvdWdodCB0byBiZSBhcHBsaWVkIHVu aWZvcm1seSwgc28gdGhhdCB3ZSBjYW4gY2xlYW4gdXAgdGhlCmRlcHJlY2F0ZWQgZnVuY3Rpb25z LCBhbmQgZWFybiB0aGUgYmVuZWZpdHMgb2YgdXNpbmcgdGhlIG1vZGVybgpmdW5jdGlvbnMuIElu IHBhcnRpY3VsYXIsIGluIGFkZGl0aW9uIHRvIHRoZSBib3Jpbmcgc3Vic3RpdHV0aW9ucywgdGhp cwpwYXRjaHNldCBhY2NvbXBsaXNoZXMgYSBmZXcgbmljZSBlZmZlY3RzOgoKLSBCeSB1c2luZyBw cmFuZG9tX3UzMl9tYXgoKSB3aXRoIGFuIHVwcGVyLWJvdW5kIHRoYXQgdGhlIGNvbXBpbGVyIGNh bgogIHByb3ZlIGF0IGNvbXBpbGUtdGltZSBpcyDiiaQ2NTUzNiBvciDiiaQyNTYsIGludGVybmFs bHkgZ2V0X3JhbmRvbV91MTYoKQogIG9yIGdldF9yYW5kb21fdTgoKSBpcyB1c2VkLCB3aGljaCB3 YXN0ZXMgZmV3ZXIgYmF0Y2hlZCByYW5kb20gYnl0ZXMsCiAgYW5kIGhlbmNlIGhhcyBoaWdoZXIg dGhyb3VnaHB1dC4KCi0gQnkgdXNpbmcgcHJhbmRvbV91MzJfbWF4KCkgaW5zdGVhZCBvZiAlLCB3 aGVuIHRoZSB1cHBlci1ib3VuZCBpcyBub3QgYQogIGNvbnN0YW50LCBkaXZpc2lvbiBpcyBzdGls bCBhdm9pZGVkLCBiZWNhdXNlIHByYW5kb21fdTMyX21heCgpIHVzZXMKICBhIGZhc3RlciBtdWx0 aXBsaWNhdGlvbi1iYXNlZCB0cmljayBpbnN0ZWFkLgoKLSBCeSB1c2luZyBnZXRfcmFuZG9tX3Ux NigpIG9yIGdldF9yYW5kb21fdTgoKSBpbiBjYXNlcyB3aGVyZSB0aGUgcmV0dXJuCiAgdmFsdWUg aXMgaW50ZW5kZWQgdG8gaW5kZWVkIGJlIGEgdTE2IG9yIGEgdTgsIHdlIHdhc3RlIGZld2VyIGJh dGNoZWQKICByYW5kb20gYnl0ZXMsIGFuZCBoZW5jZSBoYXZlIGhpZ2hlciB0aHJvdWdocHV0LgoK U28sIGJhc2VkIG9uIHRob3NlIHJ1bGVzIGFuZCBiZW5lZml0cyBmcm9tIGZvbGxvd2luZyB0aGVt LCB0aGlzIHBhdGNoc2V0CmJyZWFrcyBkb3duIGludG8gdGhlIGZvbGxvd2luZyBmaXZlIHN0ZXBz LCB3aGljaCB3ZXJlIGRvbmUgbW9zdGx5Cm1hbnVhbGx5LCBidXQgdGhlIGZpcnN0IHN0ZXAgd2Fz IHNwbGl0IGludG8gdHdvIHBhdGNoZXMsIHRoZSBmaXJzdCBvZgp3aGljaCBpcyBjb2NpbmVsbGUt YWJsZToKCjEpIFJlcGxhY2UgYHByYW5kb21fdTMyKCkgJSBtYXhgIGFuZCB2YXJpYW50cyB0aGVy ZW9mIHdpdGgKICAgcHJhbmRvbV91MzJfbWF4KG1heCkuCgoyKSBSZXBsYWNlIGAodHlwZSlnZXRf cmFuZG9tX3UzMigpYCBhbmQgdmFyaWFudHMgdGhlcmVvZiB3aXRoCiAgIGdldF9yYW5kb21fdTE2 KCkgb3IgZ2V0X3JhbmRvbV91OCgpLiBJIHRvb2sgdGhlIHBhaW5zIHRvIGFjdHVhbGx5CiAgIGxv b2sgYW5kIHNlZSB3aGF0IGV2ZXJ5IGx2YWx1ZSB0eXBlIHdhcyBhY3Jvc3MgdGhlIGVudGlyZSB0 cmVlLgoKMykgUmVwbGFjZSByZW1haW5pbmcgZGVwcmVjYXRlZCB1c2VzIG9mIHByYW5kb21fdTMy KCkgYW5kCiAgIGdldF9yYW5kb21faW50KCkgd2l0aCBnZXRfcmFuZG9tX3UzMigpLiAKCjQpIFJl cGxhY2UgcmVtYWluaW5nIGRlcHJlY2F0ZWQgdXNlcyBvZiBwcmFuZG9tX2J5dGVzKCkgd2l0aAog ICBnZXRfcmFuZG9tX2J5dGVzKCkuCgo1KSBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgYW5kIG5vdy11 bnVzZWQgcHJhbmRvbV91MzIoKSBhbmQKICAgcHJhbmRvbV9ieXRlcygpIGlubGluZSB3cmFwcGVy IGZ1bmN0aW9ucy4KCkkgd2FzIHRoaW5raW5nIG9mIHRha2luZyB0aGlzIHRocm91Z2ggbXkgcmFu ZG9tLmdpdCB0cmVlIChvbiB3aGljaCB0aGlzCnNlcmllcyBpcyBjdXJyZW50bHkgYmFzZWQpIGFu ZCBzdWJtaXR0aW5nIGl0IG5lYXIgdGhlIGVuZCBvZiB0aGUgbWVyZ2UKd2luZG93LCBvciB3YWl0 aW5nIGZvciB0aGUgdmVyeSBlbmQgb2YgdGhlIDYuMSBjeWNsZSB3aGVuIHRoZXJlIHdpbGwgYmUK dGhlIGZld2VzdCBuZXcgcGF0Y2hlcyBicmV3aW5nLiBJZiBzb21lYm9keSB3aXRoIHNvbWUgdHJl ZXdpZGUtY2xlYW51cApleHBlcmllbmNlIG1pZ2h0IHNoYXJlIHNvbWUgd2lzZG9tIGFib3V0IHdo YXQgdGhlIGJlc3QgdGltaW5nIHVzdWFsbHkKd2luZHMgdXAgYmVpbmcsIEknbSBhbGwgZWFycy4K ClBsZWFzZSB0YWtlIGEgbG9vayEgQXQgIjM3OSBpbnNlcnRpb25zKCspLCA0MjIgZGVsZXRpb25z KC0pIiwgdGhpcwpzaG91bGQgYmUgYSBzb21ld2hhdCBzbWFsbCBwYXRjaHNldCB0byByZXZpZXcs IGRlc3BpdGUgaXQgaGF2aW5nIHRoZQpzY2FyeSAidHJlZXdpZGUiIG1vbmlrZXIgb24gaXQuCgpU aGFua3MsCkphc29uCgpDYzogQW5kcmVhcyBOb2V2ZXIgPGFuZHJlYXMubm9ldmVyQGdtYWlsLmNv bT4KQ2M6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBBbmR5 IFNoZXZjaGVua28gPGFuZHJpeS5zaGV2Y2hlbmtvQGxpbnV4LmludGVsLmNvbT4KQ2M6IEJvcmlz bGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPgpDYzogQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1h cmluYXNAYXJtLmNvbT4KQ2M6IENocmlzdG9waCBCw7ZobXdhbGRlciA8Y2hyaXN0b3BoLmJvZWht d2FsZGVyQGxpbmJpdC5jb20+CkNjOiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KQ2M6 IENocmlzdG9waGUgTGVyb3kgPGNocmlzdG9waGUubGVyb3lAY3Nncm91cC5ldT4KQ2M6IERhbmll bCBCb3JrbWFubiA8ZGFuaWVsQGlvZ2VhcmJveC5uZXQ+CkNjOiBEYXZlIEFpcmxpZSA8YWlybGll ZEByZWRoYXQuY29tPgpDYzogRGF2ZSBIYW5zZW4gPGRhdmUuaGFuc2VuQGxpbnV4LmludGVsLmNv bT4KQ2M6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ2M6IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IEZsb3JpYW4gV2VzdHBoYWwgPGZ3QHN0cmxl bi5kZT4KQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+ LApDYzogSC4gUGV0ZXIgQW52aW4gPGhwYUB6eXRvci5jb20+CkNjOiBIZWlrbyBDYXJzdGVucyA8 aGNhQGxpbnV4LmlibS5jb20+CkNjOiBIZWxnZSBEZWxsZXIgPGRlbGxlckBnbXguZGU+CkNjOiBI ZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CkNjOiBIdWFjYWkgQ2hlbiA8 Y2hlbmh1YWNhaUBrZXJuZWwub3JnPgpDYzogSHVnaCBEaWNraW5zIDxodWdoZEBnb29nbGUuY29t PgpDYzogSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KQ2M6IEphbWVzIEUuSi4gQm90 dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+CkNjOiBKYW4gS2FyYSA8amFja0BzdXNlLmNvbT4K Q2M6IEphc29uIEd1bnRob3JwZSA8amdnQHppZXBlLmNhPgpDYzogSmVucyBBeGJvZSA8YXhib2VA a2VybmVsLmRrPgpDYzogSm9oYW5uZXMgQmVyZyA8am9oYW5uZXNAc2lwc29sdXRpb25zLm5ldD4K Q2M6IEpvbmF0aGFuIENvcmJldCA8Y29yYmV0QGx3bi5uZXQ+CkNjOiBKb3pzZWYgS2FkbGVjc2lr IDxrYWRsZWNAbmV0ZmlsdGVyLm9yZz4KQ2M6IEtQIFNpbmdoIDxrcHNpbmdoQGtlcm5lbC5vcmc+ CkNjOiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4KQ2M6IE1hcmNvIEVsdmVyIDxl bHZlckBnb29nbGUuY29tPgpDYzogTWF1cm8gQ2FydmFsaG8gQ2hlaGFiIDxtY2hlaGFiQGtlcm5l bC5vcmc+CkNjOiBNaWNoYWVsIEVsbGVybWFuIDxtcGVAZWxsZXJtYW4uaWQuYXU+CkNjOiBQYWJs byBOZWlyYSBBeXVzbyA8cGFibG9AbmV0ZmlsdGVyLm9yZz4KQ2M6IFBhb2xvIEFiZW5pIDxwYWJl bmlAcmVkaGF0LmNvbT4KQ2M6IFBldGVyIFppamxzdHJhIDxwZXRlcnpAaW5mcmFkZWFkLm9yZz4K Q2M6IFJpY2hhcmQgV2VpbmJlcmdlciA8cmljaGFyZEBub2QuYXQ+CkNjOiBSdXNzZWxsIEtpbmcg PGxpbnV4QGFybWxpbnV4Lm9yZy51az4KQ2M6IFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+ CkNjOiBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0c2JvZ2VuZEBhbHBoYS5mcmFua2VuLmRlPgpDYzog VGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBUaG9tYXMgR3JhZiA8dGdy YWZAc3V1Zy5jaD4KQ2M6IFVsZiBIYW5zc29uIDx1bGYuaGFuc3NvbkBsaW5hcm8ub3JnPgpDYzog VmlnbmVzaCBSYWdoYXZlbmRyYSA8dmlnbmVzaHJAdGkuY29tPgpDYzogV0FORyBYdWVydWkgPGtl cm5lbEB4ZW4wbi5uYW1lPgpDYzogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz4KQ2M6IFl1 cnkgTm9yb3YgPHl1cnkubm9yb3ZAZ21haWwuY29tPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpDYzoga2FzYW4tZGV2QGdvb2dsZWdyb3Vwcy5jb20KQ2M6IGtlcm5lbC1qYW5p dG9yc0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpDYzogbGludXgtYmxvY2tAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1jcnlwdG9Admdl ci5rZXJuZWwub3JnCkNjOiBsaW51eC1kb2NAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1mc2Rl dmVsQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbWVkaWFAdmdlci5rZXJuZWwub3JnCkNjOiBs aW51eC1taXBzQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbW1Aa3ZhY2sub3JnCkNjOiBsaW51 eC1tbWNAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1tdGRAbGlzdHMuaW5mcmFkZWFkLm9yZwpD YzogbGludXgtbnZtZUBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1wYXJpc2NAdmdlci5r ZXJuZWwub3JnCkNjOiBsaW51eC1yZG1hQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtczM5MEB2 Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXVtQGxpc3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4 LXVzYkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXdpcmVsZXNzQHZnZXIua2VybmVsLm9yZwpD YzogbGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmcKQ2M6IGxvb25nYXJjaEBsaXN0cy5saW51 eC5kZXYKQ2M6IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IHNwYXJjbGludXhAdmdlci5rZXJu ZWwub3JnCkNjOiB4ODZAa2VybmVsLm9yZwoKSmFzb24gQS4gRG9uZW5mZWxkICg2KToKICB0cmVl d2lkZTogdXNlIHByYW5kb21fdTMyX21heCgpIHdoZW4gcG9zc2libGUsIG1lY2hhbmljYWxseQog IHRyZWV3aWRlOiB1c2UgcHJhbmRvbV91MzJfbWF4KCkgd2hlbiBwb3NzaWJsZQogIHRyZWV3aWRl OiB1c2UgZ2V0X3JhbmRvbV97dTgsdTE2fSgpIHdoZW4gcG9zc2libGUKICB0cmVld2lkZTogdXNl IGdldF9yYW5kb21fdTMyKCkgd2hlbiBwb3NzaWJsZQogIHRyZWV3aWRlOiB1c2UgZ2V0X3JhbmRv bV9ieXRlcyB3aGVuIHBvc3NpYmxlCiAgcHJhbmRvbTogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMK CiBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZmlsdGVyLnJzdCAgICAgICAgICAgfCAgMiArLQog YXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYyAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFy Y2gvYXJtL2tlcm5lbC9zaWduYWwuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNo L2FybTY0L2tlcm5lbC9wcm9jZXNzLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9h cm02NC9rZXJuZWwvc3lzY2FsbC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbG9v bmdhcmNoL2tlcm5lbC9wcm9jZXNzLmMgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL2xvb25n YXJjaC9rZXJuZWwvdmRzby5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9taXBzL2tl cm5lbC9wcm9jZXNzLmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbWlwcy9rZXJu ZWwvdmRzby5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3BhcmlzYy9rZXJu ZWwvcHJvY2Vzcy5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9wYXJpc2Mva2VybmVs L3N5c19wYXJpc2MuYyAgICAgICAgICAgICAgIHwgIDQgKy0KIGFyY2gvcGFyaXNjL2tlcm5lbC92 ZHNvLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3Bvd2VycGMvY3J5cHRvL2Ny Yy12cG1zdW1fdGVzdC5jICAgICAgICAgfCAgMiArLQogYXJjaC9wb3dlcnBjL2tlcm5lbC9wcm9j ZXNzLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvczM5MC9rZXJuZWwvcHJvY2Vzcy5j ICAgICAgICAgICAgICAgICAgICB8ICA0ICstCiBhcmNoL3MzOTAva2VybmVsL3Zkc28uYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9zMzkwL21tL21tYXAuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvc3BhcmMvdmRzby92bWEuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3VtL2tlcm5lbC9wcm9jZXNzLmMgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogYXJjaC94ODYvZW50cnkvdmRzby92bWEuYyAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBhcmNoL3g4Ni9rZXJuZWwvbW9kdWxlLmMgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYyAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGFyY2gveDg2L21tL3BhdC9jcGEtdGVzdC5jICAgICAgICAgICAgICAgICAg ICB8ICA0ICstCiBibG9jay9ibGstY3J5cHRvLWZhbGxiYWNrLmMgICAgICAgICAgICAgICAgICAg fCAgMiArLQogY3J5cHRvL2FzeW5jX3R4L3JhaWQ2dGVzdC5jICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGNyeXB0by90ZXN0bWdyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDk0 ICsrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvYmxvY2svZHJiZC9kcmJkX3JlY2VpdmVyLmMg ICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2NoYXIvcmFuZG9tLmMgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxMSArLS0KIGRyaXZlcnMvZG1hL2RtYXRlc3QuYyAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiAuLi4vZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVy LmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAg ICAgIHwgIDYgKy0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfc2VsZnRlc3QuYyAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX2J1ZGR5LmMgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jICAgICAgICAgICAgICAgICB8ICAy ICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjQvY20uYyAgICAgICAgICAgICAgfCAgNCAr LQogZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2I0L2lkX3RhYmxlLmMgICAgICAgIHwgIDQgKy0K IGRyaXZlcnMvaW5maW5pYmFuZC9ody9oZmkxL3RpZF9yZG1hLmMgICAgICAgICB8ICAyICstCiBk cml2ZXJzL2luZmluaWJhbmQvaHcvaG5zL2huc19yb2NlX2FoLmMgICAgICAgfCAgNSArLQogZHJp dmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYyAgICAgICB8ICAyICstCiBkcml2ZXJz L2luZmluaWJhbmQvdWxwL3J0cnMvcnRycy1jbHQuYyAgICAgICAgfCAgMyArLQogZHJpdmVycy9t ZC9iY2FjaGUvcmVxdWVzdC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbWQv cmFpZDUtY2FjaGUuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL21lZGlh L2NvbW1vbi92NGwyLXRwZy92NGwyLXRwZy1jb3JlLmMgfCAgMiArLQogLi4uL21lZGlhL3Rlc3Qt ZHJpdmVycy92aXZpZC92aXZpZC1yYWRpby1yeC5jIHwgIDQgKy0KIC4uLi90ZXN0LWRyaXZlcnMv dml2aWQvdml2aWQtdG91Y2gtY2FwLmMgICAgICB8ICA2ICstCiBkcml2ZXJzL21pc2MvaGFiYW5h bGFicy9nYXVkaTIvZ2F1ZGkyLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9tbWMvY29yZS9jb3Jl LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvbW1jL2hvc3QvZHdfbW1j LmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5k c2ltLmMgICAgICAgICAgICAgICAgfCAgOCArLQogZHJpdmVycy9tdGQvdGVzdHMvbXRkX25hbmRl Y2N0ZXN0LmMgICAgICAgICAgIHwgMTIgKy0tCiBkcml2ZXJzL210ZC90ZXN0cy9zcGVlZHRlc3Qu YyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9tdGQvdGVzdHMvc3RyZXNzdGVzdC5j ICAgICAgICAgICAgICAgIHwgMTkgKy0tLQogZHJpdmVycy9tdGQvdWJpL2RlYnVnLmMgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbXRkL3ViaS9kZWJ1Zy5oICAgICAgICAg ICAgICAgICAgICAgICB8ICA2ICstCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jICAg ICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9i bnh0LmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2NuaWMuYyAg ICAgICAgICB8ICA1ICstCiAuLi4vY2hlbHNpby9pbmxpbmVfY3J5cHRvL2NodGxzL2NodGxzX2Nt LmMgICAgfCAgNCArLQogLi4uL2NoZWxzaW8vaW5saW5lX2NyeXB0by9jaHRscy9jaHRsc19pby5j ICAgIHwgIDQgKy0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jICAg ICB8ICA4ICstCiBkcml2ZXJzL25ldC9oYW1yYWRpby9iYXljb21fZXBwLmMgICAgICAgICAgICAg fCAgMiArLQogZHJpdmVycy9uZXQvaGFtcmFkaW8vaGRsY2Rydi5jICAgICAgICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvbmV0L2hhbXJhZGlvL3lhbS5jICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiBkcml2ZXJzL25ldC9waHkvYXQ4MDN4LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9uZXQvd2lyZWd1YXJkL3NlbGZ0ZXN0L2FsbG93ZWRpcHMuYyAgIHwgMTYgKyst LQogLi4uL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9wMnAuYyAgICAgICAgIHwgIDIgKy0K IC4uLi9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvcG5vLmMgICAgICAgICB8ICAyICstCiAu Li4vbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYy1jdHh0LmMgfCAgMiArLQogLi4u L25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvY2ZnODAyMTEuYyAgIHwgIDQgKy0KIC4uLi93 aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEwMDAvY2ZnODAyMTEuYyAgICB8ICAyICstCiAuLi4vbmV0 L3dpcmVsZXNzL3F1YW50ZW5uYS9xdG5mbWFjL2NmZzgwMjExLmMgfCAgMiArLQogZHJpdmVycy9u ZXQvd2lyZWxlc3Mvc3QvY3cxMjAwL3dzbS5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0 L3dpcmVsZXNzL3RpL3dsY29yZS9tYWluLmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL252bWUv Y29tbW9uL2F1dGguYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9zY3NpL2N4 Z2JpL2N4Z2I0aS9jeGdiNGkuYyAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvc2NzaS9mY29l L2Zjb2VfY3Rsci5jICAgICAgICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL3Njc2kvbHBmYy9s cGZjX2hiYWRpc2MuYyAgICAgICAgICAgICAgfCAgNiArLQogZHJpdmVycy9zY3NpL3FlZGkvcWVk aV9tYWluLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvdGFyZ2V0L2lzY3NpL2N4 Z2JpdC9jeGdiaXRfY20uYyAgICAgICB8ICAyICstCiBkcml2ZXJzL3RodW5kZXJib2x0L3hkb21h aW4uYyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy92aWRlby9mYmRldi91dmVzYWZi LmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGZzL2NlcGgvaW5vZGUuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy9jZXBoL21kc21hcC5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogZnMvZXhmYXQvaW5vZGUuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGZzL2V4dDIvaWFsbG9jLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAzICstCiBmcy9leHQ0L2lhbGxvYy5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNyArLQogZnMvZXh0NC9pb2N0bC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDQgKy0KIGZzL2V4dDQvbW1wLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBmcy9leHQ0L3N1cGVyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNyArLQogZnMvZjJmcy9nYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGZzL2YyZnMvbmFtZWkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBmcy9mMmZzL3NlZ21lbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg OCArLQogZnMvZmF0L2lub2RlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGZzL25mc2QvbmZzNHN0YXRlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICst CiBmcy9udGZzMy9mc2xvZy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQog ZnMvdWJpZnMvZGVidWcuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0KIGZz L3ViaWZzL2pvdXJuYWwuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy91 Ymlmcy9scHRfY29tbWl0LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArLS0KIGZzL3Vi aWZzL3RuY19jb21taXQuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy94ZnMv bGlieGZzL3hmc19hbGxvYy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMveGZzL2xp Ynhmcy94ZnNfaWFsbG9jLmMgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGZzL3hmcy94ZnNf ZXJyb3IuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy94ZnMveGZzX2lj YWNoZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMveGZzL3hmc19sb2cu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvbGludXgvbm9k ZW1hc2suaCAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL2xpbnV4L3ByYW5k b20uaCAgICAgICAgICAgICAgICAgICAgICAgfCAxMiAtLS0KIGluY2x1ZGUvbGludXgvcmFuZG9t LmggICAgICAgICAgICAgICAgICAgICAgICB8ICA1IC0KIGluY2x1ZGUvbmV0L25ldGZpbHRlci9u Zl9xdWV1ZS5oICAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL25ldC9yZWQuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9uZXQvc29jay5oICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGtlcm5lbC9icGYvYmxvb21fZmlsdGVyLmMgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBrZXJuZWwvYnBmL2NvcmUuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNiArLQoga2VybmVsL2JwZi9oYXNodGFiLmMgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGtlcm5lbC9icGYvdmVyaWZpZXIuYyAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBrZXJuZWwva2NzYW4vc2VsZnRlc3QuYyAgICAgICAgICAgICAg ICAgICAgICAgfCAgNCArLQoga2VybmVsL2xvY2tpbmcvdGVzdC13d19tdXRleC5jICAgICAgICAg ICAgICAgIHwgIDQgKy0KIGtlcm5lbC90aW1lL2Nsb2Nrc291cmNlLmMgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBsaWIvY21kbGluZV9rdW5pdC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNCArLQogbGliL2ZhdWx0LWluamVjdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGxpYi9maW5kX2JpdF9iZW5jaG1hcmsuYyAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICstCiBsaWIva29iamVjdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogbGliL3JhbmRvbTMyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg Ky0KIGxpYi9yZWVkX3NvbG9tb24vdGVzdF9yc2xpYi5jICAgICAgICAgICAgICAgICB8IDEyICst LQogbGliL3NiaXRtYXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0K IGxpYi90ZXN0LXN0cmluZ19oZWxwZXJzLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBs aWIvdGVzdF9mcHJvYmUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGli L3Rlc3RfaGV4ZHVtcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0KIGxpYi90 ZXN0X2thc2FuLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstCiBsaWIvdGVz dF9rcHJvYmVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliL3Rlc3Rf bGlzdF9zb3J0LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi90ZXN0X21p bl9oZWFwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstCiBsaWIvdGVzdF9vYmph Z2cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliL3Rlc3Rfcmhhc2h0 YWJsZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0KIGxpYi90ZXN0X3ZtYWxsb2Mu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE5ICstLS0KIGxpYi91dWlkLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtbS9taWdyYXRlLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbW0vc2htZW0uYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG1tL3NsYWIuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtbS9zbHViLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV0LzgwMi9nYXJwLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC84MDIvbXJwLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvY2VwaC9tb25fY2xpZW50LmMgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L2NlcGgvb3NkX2NsaWVudC5jICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9jb3JlL25laWdoYm91ci5jICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBuZXQvY29yZS9wa3RnZW4uYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCA0NyArKysrKy0tLS0tCiBuZXQvY29yZS9zdHJlYW0uYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L2RjY3AvaXB2NC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKy0KIG5ldC9pcHY0L2RhdGFncmFtLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBuZXQvaXB2NC9pZ21wLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNiArLQogbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYyAgICAgICAg ICAgICAgIHwgIDIgKy0KIG5ldC9pcHY0L2luZXRfaGFzaHRhYmxlcy5jICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBuZXQvaXB2NC9pcF9vdXRwdXQuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbmV0L2lwdjQvcm91dGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDQgKy0KIG5ldC9pcHY0L3RjcF9jZGcuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBuZXQvaXB2NC90Y3BfaXB2NC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NCArLQogbmV0L2lwdjQvdWRwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIG5ldC9pcHY2L2FkZHJjb25mLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICst CiBuZXQvaXB2Ni9pcDZfZmxvd2xhYmVsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQog bmV0L2lwdjYvbWNhc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0KIG5l dC9pcHY2L291dHB1dF9jb3JlLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQv bWFjODAyMTEvcmM4MDIxMV9taW5zdHJlbF9odC5jICAgICAgICAgICAgfCAgMiArLQogbmV0L21h YzgwMjExL3NjYW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9uZXRm aWx0ZXIvaXB2cy9pcF92c19jb25uLmMgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvbmV0Zmls dGVyL2lwdnMvaXBfdnNfdHdvcy5jICAgICAgICAgICAgICAgfCAgNCArLQogbmV0L25ldGZpbHRl ci9uZl9uYXRfY29yZS5jICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIG5ldC9uZXRmaWx0ZXIv eHRfc3RhdGlzdGljLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvb3BlbnZzd2l0Y2gv YWN0aW9ucy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L3BhY2tldC9hZl9wYWNr ZXQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9yZHMvYmluZC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvc2NoZWQvYWN0X2dhY3QuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9zYW1wbGUuYyAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9zY2hfY2FrZS5jICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA4ICstCiBuZXQvc2NoZWQvc2NoX25ldGVtLmMgICAgICAg ICAgICAgICAgICAgICAgICAgfCAyMiArKy0tLQogbmV0L3NjaGVkL3NjaF9waWUuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9zY2hfc2ZiLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvc2N0cC9zb2NrZXQuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNCArLQogbmV0L3N1bnJwYy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFw LmMgICAgICAgICAgIHwgIDQgKy0KIG5ldC9zdW5ycGMvY2FjaGUuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBuZXQvc3VucnBjL3hwcnQuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogbmV0L3N1bnJwYy94cHJ0c29jay5jICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIG5ldC90aXBjL3NvY2tldC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBuZXQvdW5peC9hZl91bml4LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbmV0L3hmcm0veGZybV9zdGF0ZS5jICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIDE4NiBmaWxlcyBjaGFuZ2VkLCAzNzkgaW5zZXJ0aW9ucygrKSwgNDIyIGRlbGV0 aW9ucygtKQoKLS0gCjIuMzcuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LXVtIG1haWxpbmcgbGlzdApsaW51eC11bUBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt dW0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 57419C433FE for ; Sat, 8 Oct 2022 01:37:28 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MknqB6z4yz3f8J for ; Sat, 8 Oct 2022 12:37:26 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=zx2c4.com header.i=@zx2c4.com header.a=rsa-sha256 header.s=20210105 header.b=PzPvv0/s; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org (client-ip=2604:1380:4641:c500::1; helo=dfw.source.kernel.org; envelope-from=srs0=jvfi=2i=zx2c4.com=jason@kernel.org; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=zx2c4.com header.i=@zx2c4.com header.a=rsa-sha256 header.s=20210105 header.b=PzPvv0/s; dkim-atps=neutral Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MkbjB7151z3cB6 for ; Sat, 8 Oct 2022 05:01:34 +1100 (AEDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D53D961747; Fri, 7 Oct 2022 18:01:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E596C433C1; Fri, 7 Oct 2022 18:01:23 +0000 (UTC) Authentication-Results: smtp.kernel.org; dkim=pass (1024-bit key) header.d=zx2c4.com header.i=@zx2c4.com header.b="PzPvv0/s" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1665165681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BojkAi/8g8zu4lZz0PvCkndQfyCzqdQaTWLu1pNCOPk=; b=PzPvv0/sFx+rE2w1nUakQF5MvPduBWehdWEbt582GHOR90tiK1OYTz+eYVG54lM5c6K1dI 0LFijwn9UaLZ252fxSbTtSzwmYygJS0kuZbVWDGmZT9LF614rzbcHtpwCupOjC4ZibXX7r /ihKdEqhcGTGGSnevdpXgjnK9+jGCKM= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 6b781aa4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 7 Oct 2022 18:01:21 +0000 (UTC) From: "Jason A. Donenfeld" To: linux-kernel@vger.kernel.org, patches@lists.linux.dev Subject: [PATCH v4 0/6] treewide cleanup of random integer usage Date: Fri, 7 Oct 2022 12:01:01 -0600 Message-Id: <20221007180107.216067-1-Jason@zx2c4.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Sat, 08 Oct 2022 12:28:34 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-wireless@vger.kernel.org, "Jason A. Donenfeld" , x86@kernel.org, Vignesh Raghavendra , linux-doc@vger.kernel.org, Peter Zijlstra , Catalin Marinas , Dave Hansen , kernel-janitors@vger.kernel.org, KP Singh , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, Eric Dumazet , netdev@vger.kernel.org, linux-mtd@lists.infradead.org, kasan-dev@googlegroups.com, "H . Peter Anvin" , Andreas Noever , WANG Xuerui , Will Deacon , Christoph Hellwig , linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, Mauro Carvalho Chehab , Herbert Xu , Daniel Borkmann , Jonathan Corbet , linux-rdma@vger.kernel.org, Helge Deller , Huacai Chen , Hugh Dickins , Russell King , Jozsef Kadlecsik , Jason Gunthorpe , Dave Airlie , Ulf Hansson , Paolo Abeni , "James E . J . Bottomley" , Pablo Neira Ayuso , linux-media@vger.kernel.org, Marco Elver , Kees Cook , Yury Norov , Heiko Carstens , linux-um@lists.infradead.org, linux-block@vger.kernel.org, Richard Weinberger , Borislav Petkov , linux-nvme@lists.infradead.org, loongarch@lists.linux.dev, Jakub Kicinski , Thomas Gleixner , Andy Shevchenko , Johannes Berg , linux-arm-kernel@lists.infradead.org, Jens Axboe , linux-mmc@vger.kernel.org, Thomas Bogendoerfer , Theodore Ts'o , linux-parisc@vger.kernel.org, Greg Kroah-Hartman , linux-usb@vger.kernel.org, Florian Westphal , linux-mips@vger.kernel.org, =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , linux-crypto@vger.kernel.org, Jan Kara , Thomas Graf , linux-fsdevel@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S . Miller" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Changes v3->v4: - Split coccinelle mechanical step from non-mechanical step. - Handle `get_random_int() & ~PAGE_MASK` -> `prandom_u32_max(PAGE_SIZE)`. Hi folks, This is a five part treewide cleanup of random integer handling. The rules for random integers are: - If you want a secure or an insecure random u64, use get_random_u64(). - If you want a secure or an insecure random u32, use get_random_u32(). * The old function prandom_u32() has been deprecated for a while now and is just a wrapper around get_random_u32(). Same for get_random_int(). - If you want a secure or an insecure random u16, use get_random_u16(). - If you want a secure or an insecure random u8, use get_random_u8(). - If you want secure or insecure random bytes, use get_random_bytes(). * The old function prandom_bytes() has been deprecated for a while now and has long been a wrapper around get_random_bytes(). - If you want a non-uniform random u32, u16, or u8 bounded by a certain open interval maximum, use prandom_u32_max(). * I say "non-uniform", because it doesn't do any rejection sampling or divisions. Hence, it stays within the prandom_* namespace. These rules ought to be applied uniformly, so that we can clean up the deprecated functions, and earn the benefits of using the modern functions. In particular, in addition to the boring substitutions, this patchset accomplishes a few nice effects: - By using prandom_u32_max() with an upper-bound that the compiler can prove at compile-time is ≤65536 or ≤256, internally get_random_u16() or get_random_u8() is used, which wastes fewer batched random bytes, and hence has higher throughput. - By using prandom_u32_max() instead of %, when the upper-bound is not a constant, division is still avoided, because prandom_u32_max() uses a faster multiplication-based trick instead. - By using get_random_u16() or get_random_u8() in cases where the return value is intended to indeed be a u16 or a u8, we waste fewer batched random bytes, and hence have higher throughput. So, based on those rules and benefits from following them, this patchset breaks down into the following five steps, which were done mostly manually, but the first step was split into two patches, the first of which is cocinelle-able: 1) Replace `prandom_u32() % max` and variants thereof with prandom_u32_max(max). 2) Replace `(type)get_random_u32()` and variants thereof with get_random_u16() or get_random_u8(). I took the pains to actually look and see what every lvalue type was across the entire tree. 3) Replace remaining deprecated uses of prandom_u32() and get_random_int() with get_random_u32(). 4) Replace remaining deprecated uses of prandom_bytes() with get_random_bytes(). 5) Remove the deprecated and now-unused prandom_u32() and prandom_bytes() inline wrapper functions. I was thinking of taking this through my random.git tree (on which this series is currently based) and submitting it near the end of the merge window, or waiting for the very end of the 6.1 cycle when there will be the fewest new patches brewing. If somebody with some treewide-cleanup experience might share some wisdom about what the best timing usually winds up being, I'm all ears. Please take a look! At "379 insertions(+), 422 deletions(-)", this should be a somewhat small patchset to review, despite it having the scary "treewide" moniker on it. Thanks, Jason Cc: Andreas Noever Cc: Andrew Morton Cc: Andy Shevchenko Cc: Borislav Petkov Cc: Catalin Marinas Cc: Christoph Böhmwalder Cc: Christoph Hellwig Cc: Christophe Leroy Cc: Daniel Borkmann Cc: Dave Airlie Cc: Dave Hansen Cc: David S. Miller Cc: Eric Dumazet Cc: Florian Westphal Cc: Greg Kroah-Hartman , Cc: H. Peter Anvin Cc: Heiko Carstens Cc: Helge Deller Cc: Herbert Xu Cc: Huacai Chen Cc: Hugh Dickins Cc: Jakub Kicinski Cc: James E.J. Bottomley Cc: Jan Kara Cc: Jason Gunthorpe Cc: Jens Axboe Cc: Johannes Berg Cc: Jonathan Corbet Cc: Jozsef Kadlecsik Cc: KP Singh Cc: Kees Cook Cc: Marco Elver Cc: Mauro Carvalho Chehab Cc: Michael Ellerman Cc: Pablo Neira Ayuso Cc: Paolo Abeni Cc: Peter Zijlstra Cc: Richard Weinberger Cc: Russell King Cc: Theodore Ts'o Cc: Thomas Bogendoerfer Cc: Thomas Gleixner Cc: Thomas Graf Cc: Ulf Hansson Cc: Vignesh Raghavendra Cc: WANG Xuerui Cc: Will Deacon Cc: Yury Norov Cc: dri-devel@lists.freedesktop.org Cc: kasan-dev@googlegroups.com Cc: kernel-janitors@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-block@vger.kernel.org Cc: linux-crypto@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: linux-mips@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-mmc@vger.kernel.org Cc: linux-mtd@lists.infradead.org Cc: linux-nvme@lists.infradead.org Cc: linux-parisc@vger.kernel.org Cc: linux-rdma@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linux-um@lists.infradead.org Cc: linux-usb@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: loongarch@lists.linux.dev Cc: netdev@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: x86@kernel.org Jason A. Donenfeld (6): treewide: use prandom_u32_max() when possible, mechanically treewide: use prandom_u32_max() when possible treewide: use get_random_{u8,u16}() when possible treewide: use get_random_u32() when possible treewide: use get_random_bytes when possible prandom: remove unused functions Documentation/networking/filter.rst | 2 +- arch/arm/kernel/process.c | 2 +- arch/arm/kernel/signal.c | 2 +- arch/arm64/kernel/process.c | 2 +- arch/arm64/kernel/syscall.c | 2 +- arch/loongarch/kernel/process.c | 2 +- arch/loongarch/kernel/vdso.c | 2 +- arch/mips/kernel/process.c | 2 +- arch/mips/kernel/vdso.c | 2 +- arch/parisc/kernel/process.c | 2 +- arch/parisc/kernel/sys_parisc.c | 4 +- arch/parisc/kernel/vdso.c | 2 +- arch/powerpc/crypto/crc-vpmsum_test.c | 2 +- arch/powerpc/kernel/process.c | 2 +- arch/s390/kernel/process.c | 4 +- arch/s390/kernel/vdso.c | 2 +- arch/s390/mm/mmap.c | 2 +- arch/sparc/vdso/vma.c | 2 +- arch/um/kernel/process.c | 2 +- arch/x86/entry/vdso/vma.c | 2 +- arch/x86/kernel/cpu/amd.c | 2 +- arch/x86/kernel/module.c | 2 +- arch/x86/kernel/process.c | 2 +- arch/x86/mm/pat/cpa-test.c | 4 +- block/blk-crypto-fallback.c | 2 +- crypto/async_tx/raid6test.c | 2 +- crypto/testmgr.c | 94 +++++++++---------- drivers/block/drbd/drbd_receiver.c | 4 +- drivers/char/random.c | 11 +-- drivers/dma/dmatest.c | 2 +- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 6 +- .../gpu/drm/i915/selftests/i915_selftest.c | 2 +- drivers/gpu/drm/selftests/test-drm_buddy.c | 2 +- drivers/gpu/drm/selftests/test-drm_mm.c | 2 +- drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/hw/cxgb4/cm.c | 4 +- drivers/infiniband/hw/cxgb4/id_table.c | 4 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 2 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 5 +- drivers/infiniband/hw/mlx4/mad.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 3 +- drivers/md/bcache/request.c | 2 +- drivers/md/raid5-cache.c | 2 +- drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 2 +- .../media/test-drivers/vivid/vivid-radio-rx.c | 4 +- .../test-drivers/vivid/vivid-touch-cap.c | 6 +- drivers/misc/habanalabs/gaudi2/gaudi2.c | 2 +- drivers/mmc/core/core.c | 4 +- drivers/mmc/host/dw_mmc.c | 2 +- drivers/mtd/nand/raw/nandsim.c | 8 +- drivers/mtd/tests/mtd_nandecctest.c | 12 +-- drivers/mtd/tests/speedtest.c | 2 +- drivers/mtd/tests/stresstest.c | 19 +--- drivers/mtd/ubi/debug.c | 2 +- drivers/mtd/ubi/debug.h | 6 +- drivers/net/bonding/bond_main.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/cnic.c | 5 +- .../chelsio/inline_crypto/chtls/chtls_cm.c | 4 +- .../chelsio/inline_crypto/chtls/chtls_io.c | 4 +- drivers/net/ethernet/rocker/rocker_main.c | 8 +- drivers/net/hamradio/baycom_epp.c | 2 +- drivers/net/hamradio/hdlcdrv.c | 2 +- drivers/net/hamradio/yam.c | 2 +- drivers/net/phy/at803x.c | 2 +- drivers/net/wireguard/selftest/allowedips.c | 16 ++-- .../broadcom/brcm80211/brcmfmac/p2p.c | 2 +- .../broadcom/brcm80211/brcmfmac/pno.c | 2 +- .../net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 2 +- .../net/wireless/marvell/mwifiex/cfg80211.c | 4 +- .../wireless/microchip/wilc1000/cfg80211.c | 2 +- .../net/wireless/quantenna/qtnfmac/cfg80211.c | 2 +- drivers/net/wireless/st/cw1200/wsm.c | 2 +- drivers/net/wireless/ti/wlcore/main.c | 2 +- drivers/nvme/common/auth.c | 2 +- drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 4 +- drivers/scsi/fcoe/fcoe_ctlr.c | 4 +- drivers/scsi/lpfc/lpfc_hbadisc.c | 6 +- drivers/scsi/qedi/qedi_main.c | 2 +- drivers/target/iscsi/cxgbit/cxgbit_cm.c | 2 +- drivers/thunderbolt/xdomain.c | 2 +- drivers/video/fbdev/uvesafb.c | 2 +- fs/ceph/inode.c | 2 +- fs/ceph/mdsmap.c | 2 +- fs/exfat/inode.c | 2 +- fs/ext2/ialloc.c | 3 +- fs/ext4/ialloc.c | 7 +- fs/ext4/ioctl.c | 4 +- fs/ext4/mmp.c | 2 +- fs/ext4/super.c | 7 +- fs/f2fs/gc.c | 2 +- fs/f2fs/namei.c | 2 +- fs/f2fs/segment.c | 8 +- fs/fat/inode.c | 2 +- fs/nfsd/nfs4state.c | 4 +- fs/ntfs3/fslog.c | 6 +- fs/ubifs/debug.c | 10 +- fs/ubifs/journal.c | 2 +- fs/ubifs/lpt_commit.c | 14 +-- fs/ubifs/tnc_commit.c | 2 +- fs/xfs/libxfs/xfs_alloc.c | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 4 +- fs/xfs/xfs_error.c | 2 +- fs/xfs/xfs_icache.c | 2 +- fs/xfs/xfs_log.c | 2 +- include/linux/nodemask.h | 2 +- include/linux/prandom.h | 12 --- include/linux/random.h | 5 - include/net/netfilter/nf_queue.h | 2 +- include/net/red.h | 2 +- include/net/sock.h | 2 +- kernel/bpf/bloom_filter.c | 2 +- kernel/bpf/core.c | 6 +- kernel/bpf/hashtab.c | 2 +- kernel/bpf/verifier.c | 2 +- kernel/kcsan/selftest.c | 4 +- kernel/locking/test-ww_mutex.c | 4 +- kernel/time/clocksource.c | 2 +- lib/cmdline_kunit.c | 4 +- lib/fault-inject.c | 2 +- lib/find_bit_benchmark.c | 4 +- lib/kobject.c | 2 +- lib/random32.c | 4 +- lib/reed_solomon/test_rslib.c | 12 +-- lib/sbitmap.c | 4 +- lib/test-string_helpers.c | 2 +- lib/test_fprobe.c | 2 +- lib/test_hexdump.c | 10 +- lib/test_kasan.c | 6 +- lib/test_kprobes.c | 2 +- lib/test_list_sort.c | 2 +- lib/test_min_heap.c | 6 +- lib/test_objagg.c | 2 +- lib/test_rhashtable.c | 6 +- lib/test_vmalloc.c | 19 +--- lib/uuid.c | 2 +- mm/migrate.c | 2 +- mm/shmem.c | 2 +- mm/slab.c | 2 +- mm/slub.c | 2 +- net/802/garp.c | 2 +- net/802/mrp.c | 2 +- net/ceph/mon_client.c | 2 +- net/ceph/osd_client.c | 2 +- net/core/neighbour.c | 2 +- net/core/pktgen.c | 47 +++++----- net/core/stream.c | 2 +- net/dccp/ipv4.c | 4 +- net/ipv4/datagram.c | 2 +- net/ipv4/igmp.c | 6 +- net/ipv4/inet_connection_sock.c | 2 +- net/ipv4/inet_hashtables.c | 2 +- net/ipv4/ip_output.c | 2 +- net/ipv4/route.c | 4 +- net/ipv4/tcp_cdg.c | 2 +- net/ipv4/tcp_ipv4.c | 4 +- net/ipv4/udp.c | 2 +- net/ipv6/addrconf.c | 8 +- net/ipv6/ip6_flowlabel.c | 2 +- net/ipv6/mcast.c | 10 +- net/ipv6/output_core.c | 2 +- net/mac80211/rc80211_minstrel_ht.c | 2 +- net/mac80211/scan.c | 2 +- net/netfilter/ipvs/ip_vs_conn.c | 2 +- net/netfilter/ipvs/ip_vs_twos.c | 4 +- net/netfilter/nf_nat_core.c | 4 +- net/netfilter/xt_statistic.c | 2 +- net/openvswitch/actions.c | 2 +- net/packet/af_packet.c | 2 +- net/rds/bind.c | 2 +- net/sched/act_gact.c | 2 +- net/sched/act_sample.c | 2 +- net/sched/sch_cake.c | 8 +- net/sched/sch_netem.c | 22 ++--- net/sched/sch_pie.c | 2 +- net/sched/sch_sfb.c | 2 +- net/sctp/socket.c | 4 +- net/sunrpc/auth_gss/gss_krb5_wrap.c | 4 +- net/sunrpc/cache.c | 2 +- net/sunrpc/xprt.c | 2 +- net/sunrpc/xprtsock.c | 2 +- net/tipc/socket.c | 2 +- net/unix/af_unix.c | 2 +- net/xfrm/xfrm_state.c | 2 +- 186 files changed, 379 insertions(+), 422 deletions(-) -- 2.37.3 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 741DBC4332F for ; Fri, 7 Oct 2022 18:01:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DC6C510E00E; Fri, 7 Oct 2022 18:01:32 +0000 (UTC) Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9F0B810E00E for ; Fri, 7 Oct 2022 18:01:30 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D53D961747; Fri, 7 Oct 2022 18:01:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E596C433C1; Fri, 7 Oct 2022 18:01:23 +0000 (UTC) Authentication-Results: smtp.kernel.org; dkim=pass (1024-bit key) header.d=zx2c4.com header.i=@zx2c4.com header.b="PzPvv0/s" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1665165681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BojkAi/8g8zu4lZz0PvCkndQfyCzqdQaTWLu1pNCOPk=; b=PzPvv0/sFx+rE2w1nUakQF5MvPduBWehdWEbt582GHOR90tiK1OYTz+eYVG54lM5c6K1dI 0LFijwn9UaLZ252fxSbTtSzwmYygJS0kuZbVWDGmZT9LF614rzbcHtpwCupOjC4ZibXX7r /ihKdEqhcGTGGSnevdpXgjnK9+jGCKM= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 6b781aa4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 7 Oct 2022 18:01:21 +0000 (UTC) From: "Jason A. Donenfeld" To: linux-kernel@vger.kernel.org, patches@lists.linux.dev Subject: [PATCH v4 0/6] treewide cleanup of random integer usage Date: Fri, 7 Oct 2022 12:01:01 -0600 Message-Id: <20221007180107.216067-1-Jason@zx2c4.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-wireless@vger.kernel.org, "Jason A. Donenfeld" , x86@kernel.org, Vignesh Raghavendra , linux-doc@vger.kernel.org, Peter Zijlstra , Catalin Marinas , Dave Hansen , kernel-janitors@vger.kernel.org, KP Singh , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, Eric Dumazet , netdev@vger.kernel.org, linux-mtd@lists.infradead.org, kasan-dev@googlegroups.com, "H . Peter Anvin" , Andreas Noever , WANG Xuerui , Will Deacon , Christoph Hellwig , linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, Mauro Carvalho Chehab , Herbert Xu , Daniel Borkmann , Jonathan Corbet , linux-rdma@vger.kernel.org, Michael Ellerman , Helge Deller , Huacai Chen , Hugh Dickins , Russell King , Christophe Leroy , Jozsef Kadlecsik , Jason Gunthorpe , Dave Airlie , Ulf Hansson , Paolo Abeni , "James E . J . Bottomley" , Pablo Neira Ayuso , linux-media@vger.kernel.org, Marco Elver , Kees Cook , Yury Norov , Heiko Carstens , linux-um@lists.infradead.org, linux-block@vger.kernel.org, Richard Weinberger , Borislav Petkov , linux-nvme@lists.infradead.org, loongarch@lists.linux.dev, Jakub Kicinski , Thomas Gleixner , Andy Shevchenko , Johannes Berg , linux-arm-kernel@lists.infradead.org, Jens Axboe , linux-mmc@vger.kernel.org, Thomas Bogendoerfer , Theodore Ts'o , linux-parisc@vger.kernel.org, Greg Kroah-Hartman , linux-usb@vger.kernel.org, Florian Westphal , linux-mips@vger.kernel.org, =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , linux-crypto@vger.kernel.org, Jan Kara , Thomas Graf , linux-fsdevel@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S . Miller" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Changes v3->v4: - Split coccinelle mechanical step from non-mechanical step. - Handle `get_random_int() & ~PAGE_MASK` -> `prandom_u32_max(PAGE_SIZE)`. Hi folks, This is a five part treewide cleanup of random integer handling. The rules for random integers are: - If you want a secure or an insecure random u64, use get_random_u64(). - If you want a secure or an insecure random u32, use get_random_u32(). * The old function prandom_u32() has been deprecated for a while now and is just a wrapper around get_random_u32(). Same for get_random_int(). - If you want a secure or an insecure random u16, use get_random_u16(). - If you want a secure or an insecure random u8, use get_random_u8(). - If you want secure or insecure random bytes, use get_random_bytes(). * The old function prandom_bytes() has been deprecated for a while now and has long been a wrapper around get_random_bytes(). - If you want a non-uniform random u32, u16, or u8 bounded by a certain open interval maximum, use prandom_u32_max(). * I say "non-uniform", because it doesn't do any rejection sampling or divisions. Hence, it stays within the prandom_* namespace. These rules ought to be applied uniformly, so that we can clean up the deprecated functions, and earn the benefits of using the modern functions. In particular, in addition to the boring substitutions, this patchset accomplishes a few nice effects: - By using prandom_u32_max() with an upper-bound that the compiler can prove at compile-time is ≤65536 or ≤256, internally get_random_u16() or get_random_u8() is used, which wastes fewer batched random bytes, and hence has higher throughput. - By using prandom_u32_max() instead of %, when the upper-bound is not a constant, division is still avoided, because prandom_u32_max() uses a faster multiplication-based trick instead. - By using get_random_u16() or get_random_u8() in cases where the return value is intended to indeed be a u16 or a u8, we waste fewer batched random bytes, and hence have higher throughput. So, based on those rules and benefits from following them, this patchset breaks down into the following five steps, which were done mostly manually, but the first step was split into two patches, the first of which is cocinelle-able: 1) Replace `prandom_u32() % max` and variants thereof with prandom_u32_max(max). 2) Replace `(type)get_random_u32()` and variants thereof with get_random_u16() or get_random_u8(). I took the pains to actually look and see what every lvalue type was across the entire tree. 3) Replace remaining deprecated uses of prandom_u32() and get_random_int() with get_random_u32(). 4) Replace remaining deprecated uses of prandom_bytes() with get_random_bytes(). 5) Remove the deprecated and now-unused prandom_u32() and prandom_bytes() inline wrapper functions. I was thinking of taking this through my random.git tree (on which this series is currently based) and submitting it near the end of the merge window, or waiting for the very end of the 6.1 cycle when there will be the fewest new patches brewing. If somebody with some treewide-cleanup experience might share some wisdom about what the best timing usually winds up being, I'm all ears. Please take a look! At "379 insertions(+), 422 deletions(-)", this should be a somewhat small patchset to review, despite it having the scary "treewide" moniker on it. Thanks, Jason Cc: Andreas Noever Cc: Andrew Morton Cc: Andy Shevchenko Cc: Borislav Petkov Cc: Catalin Marinas Cc: Christoph Böhmwalder Cc: Christoph Hellwig Cc: Christophe Leroy Cc: Daniel Borkmann Cc: Dave Airlie Cc: Dave Hansen Cc: David S. Miller Cc: Eric Dumazet Cc: Florian Westphal Cc: Greg Kroah-Hartman , Cc: H. Peter Anvin Cc: Heiko Carstens Cc: Helge Deller Cc: Herbert Xu Cc: Huacai Chen Cc: Hugh Dickins Cc: Jakub Kicinski Cc: James E.J. Bottomley Cc: Jan Kara Cc: Jason Gunthorpe Cc: Jens Axboe Cc: Johannes Berg Cc: Jonathan Corbet Cc: Jozsef Kadlecsik Cc: KP Singh Cc: Kees Cook Cc: Marco Elver Cc: Mauro Carvalho Chehab Cc: Michael Ellerman Cc: Pablo Neira Ayuso Cc: Paolo Abeni Cc: Peter Zijlstra Cc: Richard Weinberger Cc: Russell King Cc: Theodore Ts'o Cc: Thomas Bogendoerfer Cc: Thomas Gleixner Cc: Thomas Graf Cc: Ulf Hansson Cc: Vignesh Raghavendra Cc: WANG Xuerui Cc: Will Deacon Cc: Yury Norov Cc: dri-devel@lists.freedesktop.org Cc: kasan-dev@googlegroups.com Cc: kernel-janitors@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-block@vger.kernel.org Cc: linux-crypto@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: linux-mips@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-mmc@vger.kernel.org Cc: linux-mtd@lists.infradead.org Cc: linux-nvme@lists.infradead.org Cc: linux-parisc@vger.kernel.org Cc: linux-rdma@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linux-um@lists.infradead.org Cc: linux-usb@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: loongarch@lists.linux.dev Cc: netdev@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: x86@kernel.org Jason A. Donenfeld (6): treewide: use prandom_u32_max() when possible, mechanically treewide: use prandom_u32_max() when possible treewide: use get_random_{u8,u16}() when possible treewide: use get_random_u32() when possible treewide: use get_random_bytes when possible prandom: remove unused functions Documentation/networking/filter.rst | 2 +- arch/arm/kernel/process.c | 2 +- arch/arm/kernel/signal.c | 2 +- arch/arm64/kernel/process.c | 2 +- arch/arm64/kernel/syscall.c | 2 +- arch/loongarch/kernel/process.c | 2 +- arch/loongarch/kernel/vdso.c | 2 +- arch/mips/kernel/process.c | 2 +- arch/mips/kernel/vdso.c | 2 +- arch/parisc/kernel/process.c | 2 +- arch/parisc/kernel/sys_parisc.c | 4 +- arch/parisc/kernel/vdso.c | 2 +- arch/powerpc/crypto/crc-vpmsum_test.c | 2 +- arch/powerpc/kernel/process.c | 2 +- arch/s390/kernel/process.c | 4 +- arch/s390/kernel/vdso.c | 2 +- arch/s390/mm/mmap.c | 2 +- arch/sparc/vdso/vma.c | 2 +- arch/um/kernel/process.c | 2 +- arch/x86/entry/vdso/vma.c | 2 +- arch/x86/kernel/cpu/amd.c | 2 +- arch/x86/kernel/module.c | 2 +- arch/x86/kernel/process.c | 2 +- arch/x86/mm/pat/cpa-test.c | 4 +- block/blk-crypto-fallback.c | 2 +- crypto/async_tx/raid6test.c | 2 +- crypto/testmgr.c | 94 +++++++++---------- drivers/block/drbd/drbd_receiver.c | 4 +- drivers/char/random.c | 11 +-- drivers/dma/dmatest.c | 2 +- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 6 +- .../gpu/drm/i915/selftests/i915_selftest.c | 2 +- drivers/gpu/drm/selftests/test-drm_buddy.c | 2 +- drivers/gpu/drm/selftests/test-drm_mm.c | 2 +- drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/hw/cxgb4/cm.c | 4 +- drivers/infiniband/hw/cxgb4/id_table.c | 4 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 2 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 5 +- drivers/infiniband/hw/mlx4/mad.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 3 +- drivers/md/bcache/request.c | 2 +- drivers/md/raid5-cache.c | 2 +- drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 2 +- .../media/test-drivers/vivid/vivid-radio-rx.c | 4 +- .../test-drivers/vivid/vivid-touch-cap.c | 6 +- drivers/misc/habanalabs/gaudi2/gaudi2.c | 2 +- drivers/mmc/core/core.c | 4 +- drivers/mmc/host/dw_mmc.c | 2 +- drivers/mtd/nand/raw/nandsim.c | 8 +- drivers/mtd/tests/mtd_nandecctest.c | 12 +-- drivers/mtd/tests/speedtest.c | 2 +- drivers/mtd/tests/stresstest.c | 19 +--- drivers/mtd/ubi/debug.c | 2 +- drivers/mtd/ubi/debug.h | 6 +- drivers/net/bonding/bond_main.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/cnic.c | 5 +- .../chelsio/inline_crypto/chtls/chtls_cm.c | 4 +- .../chelsio/inline_crypto/chtls/chtls_io.c | 4 +- drivers/net/ethernet/rocker/rocker_main.c | 8 +- drivers/net/hamradio/baycom_epp.c | 2 +- drivers/net/hamradio/hdlcdrv.c | 2 +- drivers/net/hamradio/yam.c | 2 +- drivers/net/phy/at803x.c | 2 +- drivers/net/wireguard/selftest/allowedips.c | 16 ++-- .../broadcom/brcm80211/brcmfmac/p2p.c | 2 +- .../broadcom/brcm80211/brcmfmac/pno.c | 2 +- .../net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 2 +- .../net/wireless/marvell/mwifiex/cfg80211.c | 4 +- .../wireless/microchip/wilc1000/cfg80211.c | 2 +- .../net/wireless/quantenna/qtnfmac/cfg80211.c | 2 +- drivers/net/wireless/st/cw1200/wsm.c | 2 +- drivers/net/wireless/ti/wlcore/main.c | 2 +- drivers/nvme/common/auth.c | 2 +- drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 4 +- drivers/scsi/fcoe/fcoe_ctlr.c | 4 +- drivers/scsi/lpfc/lpfc_hbadisc.c | 6 +- drivers/scsi/qedi/qedi_main.c | 2 +- drivers/target/iscsi/cxgbit/cxgbit_cm.c | 2 +- drivers/thunderbolt/xdomain.c | 2 +- drivers/video/fbdev/uvesafb.c | 2 +- fs/ceph/inode.c | 2 +- fs/ceph/mdsmap.c | 2 +- fs/exfat/inode.c | 2 +- fs/ext2/ialloc.c | 3 +- fs/ext4/ialloc.c | 7 +- fs/ext4/ioctl.c | 4 +- fs/ext4/mmp.c | 2 +- fs/ext4/super.c | 7 +- fs/f2fs/gc.c | 2 +- fs/f2fs/namei.c | 2 +- fs/f2fs/segment.c | 8 +- fs/fat/inode.c | 2 +- fs/nfsd/nfs4state.c | 4 +- fs/ntfs3/fslog.c | 6 +- fs/ubifs/debug.c | 10 +- fs/ubifs/journal.c | 2 +- fs/ubifs/lpt_commit.c | 14 +-- fs/ubifs/tnc_commit.c | 2 +- fs/xfs/libxfs/xfs_alloc.c | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 4 +- fs/xfs/xfs_error.c | 2 +- fs/xfs/xfs_icache.c | 2 +- fs/xfs/xfs_log.c | 2 +- include/linux/nodemask.h | 2 +- include/linux/prandom.h | 12 --- include/linux/random.h | 5 - include/net/netfilter/nf_queue.h | 2 +- include/net/red.h | 2 +- include/net/sock.h | 2 +- kernel/bpf/bloom_filter.c | 2 +- kernel/bpf/core.c | 6 +- kernel/bpf/hashtab.c | 2 +- kernel/bpf/verifier.c | 2 +- kernel/kcsan/selftest.c | 4 +- kernel/locking/test-ww_mutex.c | 4 +- kernel/time/clocksource.c | 2 +- lib/cmdline_kunit.c | 4 +- lib/fault-inject.c | 2 +- lib/find_bit_benchmark.c | 4 +- lib/kobject.c | 2 +- lib/random32.c | 4 +- lib/reed_solomon/test_rslib.c | 12 +-- lib/sbitmap.c | 4 +- lib/test-string_helpers.c | 2 +- lib/test_fprobe.c | 2 +- lib/test_hexdump.c | 10 +- lib/test_kasan.c | 6 +- lib/test_kprobes.c | 2 +- lib/test_list_sort.c | 2 +- lib/test_min_heap.c | 6 +- lib/test_objagg.c | 2 +- lib/test_rhashtable.c | 6 +- lib/test_vmalloc.c | 19 +--- lib/uuid.c | 2 +- mm/migrate.c | 2 +- mm/shmem.c | 2 +- mm/slab.c | 2 +- mm/slub.c | 2 +- net/802/garp.c | 2 +- net/802/mrp.c | 2 +- net/ceph/mon_client.c | 2 +- net/ceph/osd_client.c | 2 +- net/core/neighbour.c | 2 +- net/core/pktgen.c | 47 +++++----- net/core/stream.c | 2 +- net/dccp/ipv4.c | 4 +- net/ipv4/datagram.c | 2 +- net/ipv4/igmp.c | 6 +- net/ipv4/inet_connection_sock.c | 2 +- net/ipv4/inet_hashtables.c | 2 +- net/ipv4/ip_output.c | 2 +- net/ipv4/route.c | 4 +- net/ipv4/tcp_cdg.c | 2 +- net/ipv4/tcp_ipv4.c | 4 +- net/ipv4/udp.c | 2 +- net/ipv6/addrconf.c | 8 +- net/ipv6/ip6_flowlabel.c | 2 +- net/ipv6/mcast.c | 10 +- net/ipv6/output_core.c | 2 +- net/mac80211/rc80211_minstrel_ht.c | 2 +- net/mac80211/scan.c | 2 +- net/netfilter/ipvs/ip_vs_conn.c | 2 +- net/netfilter/ipvs/ip_vs_twos.c | 4 +- net/netfilter/nf_nat_core.c | 4 +- net/netfilter/xt_statistic.c | 2 +- net/openvswitch/actions.c | 2 +- net/packet/af_packet.c | 2 +- net/rds/bind.c | 2 +- net/sched/act_gact.c | 2 +- net/sched/act_sample.c | 2 +- net/sched/sch_cake.c | 8 +- net/sched/sch_netem.c | 22 ++--- net/sched/sch_pie.c | 2 +- net/sched/sch_sfb.c | 2 +- net/sctp/socket.c | 4 +- net/sunrpc/auth_gss/gss_krb5_wrap.c | 4 +- net/sunrpc/cache.c | 2 +- net/sunrpc/xprt.c | 2 +- net/sunrpc/xprtsock.c | 2 +- net/tipc/socket.c | 2 +- net/unix/af_unix.c | 2 +- net/xfrm/xfrm_state.c | 2 +- 186 files changed, 379 insertions(+), 422 deletions(-) -- 2.37.3