)]}'
{
  "log": [
    {
      "commit": "eb1a0358d182abcac424ebb3381e2f77ddf024f0",
      "tree": "b58b069481b550fd7134a86094dd2bc3f1c9b07f",
      "parents": [
        "5c67c52b0d73d628fb4ba8b65dfb6d1bdcd1d8ea",
        "189ee9735a4b2e8095b1a6c088ebc8e133872471"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Tue Jun 18 08:03:39 2024 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Tue Jun 18 14:18:49 2024 +0000"
      },
      "message": "Merge 5.4.278 into android11-5.4-lts\n\nChanges in 5.4.278\n\tx86/tsc: Trust initial offset in architectural TSC-adjust MSRs\n\ttty: n_gsm: fix possible out-of-bounds in gsm0_receive()\n\tspeakup: Fix sizeof() vs ARRAY_SIZE() bug\n\tring-buffer: Fix a race between readers and resize checks\n\tnet: smc91x: Fix m68k kernel compilation for ColdFire CPU\n\tnilfs2: fix unexpected freezing of nilfs_segctor_sync()\n\tnilfs2: fix potential hang in nilfs_detach_log_writer()\n\twifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class\n\tnet: usb: qmi_wwan: add Telit FN920C04 compositions\n\tdrm/amd/display: Set color_mgmt_changed to true on unsuspend\n\tASoC: rt5645: Fix the electric noise due to the CBJ contacts floating\n\tASoC: dt-bindings: rt5645: add cbj sleeve gpio property\n\tASoC: da7219-aad: fix usage of device_get_named_child_node()\n\tdrm/amdkfd: Flush the process wq before creating a kfd_process\n\tnvme: find numa distance only if controller has valid numa id\n\topenpromfs: finish conversion to the new mount API\n\tcrypto: bcm - Fix pointer arithmetic\n\tfirmware: raspberrypi: Use correct device for DMA mappings\n\tecryptfs: Fix buffer size for tag 66 packet\n\tnilfs2: fix out-of-range warning\n\tparisc: add missing export of __cmpxchg_u8()\n\tcrypto: ccp - drop platform ifdef checks\n\ts390/cio: fix tracepoint subchannel type field\n\tjffs2: prevent xattr node from overflowing the eraseblock\n\tnull_blk: Fix missing mutex_destroy() at module removal\n\tmd: fix resync softlockup when bitmap size is less than array size\n\twifi: ath10k: poll service ready message before failing\n\tx86/boot: Ignore relocations in .notes sections in walk_relocs() too\n\tqed: avoid truncating work queue length\n\tscsi: ufs: qcom: Perform read back after writing reset bit\n\tscsi: ufs: cdns-pltfrm: Perform read back after writing HCLKDIV\n\tscsi: ufs: core: Perform read back after disabling interrupts\n\tscsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL\n\tirqchip/alpine-msi: Fix off-by-one in allocation error path\n\tACPI: disable -Wstringop-truncation\n\tcpufreq: Reorganize checks in cpufreq_offline()\n\tcpufreq: Split cpufreq_offline()\n\tcpufreq: Rearrange locking in cpufreq_remove_dev()\n\tcpufreq: exit() callback is optional\n\tscsi: libsas: Fix the failure of adding phy with zero-address to port\n\tscsi: hpsa: Fix allocation size for Scsi_Host private data\n\tx86/purgatory: Switch to the position-independent small code model\n\twifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()\n\twifi: ath10k: populate board data for WCN3990\n\ttcp: minor optimization in tcp_add_backlog()\n\ttcp: fix a signed-integer-overflow bug in tcp_add_backlog()\n\ttcp: avoid premature drops in tcp_add_backlog()\n\tmacintosh/via-macii: Fix \"BUG: sleeping function called from invalid context\"\n\twifi: carl9170: add a proper sanity check for endpoints\n\twifi: ar5523: enable proper endpoint verification\n\tsh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe()\n\tRevert \"sh: Handle calling csum_partial with misaligned data\"\n\tHID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors\n\tscsi: bfa: Ensure the copied buf is NUL terminated\n\tscsi: qedf: Ensure the copied buf is NUL terminated\n\twifi: mwl8k: initialize cmd-\u003eaddr[] properly\n\tusb: aqc111: stop lying about skb-\u003etruesize\n\tnet: usb: sr9700: stop lying about skb-\u003etruesize\n\tm68k: Fix spinlock race in kernel thread creation\n\tm68k: mac: Fix reboot hang on Mac IIci\n\tnet: ethernet: cortina: Locking fixes\n\taf_unix: Fix data races in unix_release_sock/unix_stream_sendmsg\n\tnet: usb: smsc95xx: stop lying about skb-\u003etruesize\n\tnet: openvswitch: fix overwriting ct original tuple for ICMPv6\n\tipv6: sr: add missing seg6_local_exit\n\tipv6: sr: fix incorrect unregister order\n\tipv6: sr: fix invalid unregister error path\n\tdrm/amd/display: Fix potential index out of bounds in color transformation function\n\tmtd: rawnand: hynix: fixed typo\n\tfbdev: shmobile: fix snprintf truncation\n\tdrm/mediatek: Add 0 size check to mtk_drm_gem_obj\n\tpowerpc/fsl-soc: hide unused const variable\n\tfbdev: sisfb: hide unused variables\n\tmedia: ngene: Add dvb_ca_en50221_init return value check\n\tmedia: radio-shark2: Avoid led_names truncations\n\tplatform/x86: wmi: Make two functions static\n\tfbdev: sh7760fb: allow modular build\n\tdrm/arm/malidp: fix a possible null pointer dereference\n\tASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value\n\tdrm/panel: simple: Add missing Innolux G121X1-L03 format, flags, connector\n\tRDMA/hns: Use complete parentheses in macros\n\tx86/insn: Fix PUSH instruction in x86 instruction decoder opcode map\n\text4: avoid excessive credit estimate in ext4_tmpfile()\n\tsunrpc: removed redundant procp check\n\tSUNRPC: Fix gss_free_in_token_pages()\n\tselftests/kcmp: Make the test output consistent and clear\n\tselftests/kcmp: remove unused open mode\n\tRDMA/IPoIB: Fix format truncation compilation errors\n\tnetrom: fix possible dead-lock in nr_rt_ioctl()\n\taf_packet: do not call packet_read_pending() from tpacket_destruct_skb()\n\tsched/topology: Don\u0027t set SD_BALANCE_WAKE on cpuset domain relax\n\tsched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level\n\tgreybus: lights: check return of get_channel_from_mode\n\tsoundwire: cadence/intel: simplify PDI/port mapping\n\tsoundwire: intel: don\u0027t filter out PDI0/1\n\tsoundwire: cadence_master: improve PDI allocation\n\tsoundwire: cadence: fix invalid PDI offset\n\tdmaengine: idma64: Add check for dma_set_max_seg_size\n\tfirmware: dmi-id: add a release callback function\n\tserial: max3100: Lock port-\u003elock when calling uart_handle_cts_change()\n\tserial: max3100: Update uart_driver_registered on driver removal\n\tserial: max3100: Fix bitwise types\n\tgreybus: arche-ctrl: move device table to its right location\n\tiio: pressure: dps310: support negative temperature values\n\tmicroblaze: Remove gcc flag for non existing early_printk.c file\n\tmicroblaze: Remove early printk call from cpuinfo-static.c\n\tusb: gadget: u_audio: Clear uac pointer when freed.\n\tstm class: Fix a double free in stm_register_device()\n\tppdev: Remove usage of the deprecated ida_simple_xx() API\n\tppdev: Add an error check in register_device\n\textcon: max8997: select IRQ_DOMAIN instead of depending on it\n\tf2fs: fix to release node block count in error path of f2fs_new_node_page()\n\tserial: sh-sci: protect invalidating RXDMA on shutdown\n\tlibsubcmd: Fix parse-options memory leak\n\tInput: ims-pcu - fix printf string overflow\n\tInput: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation\n\tdrm/msm/dpu: Always flush the slave INTF on the CTL\n\tum: Fix return value in ubd_init()\n\tum: Add winch to winch_handlers before registering winch IRQ\n\tmedia: stk1160: fix bounds checking in stk1160_copy_video()\n\tscsi: qla2xxx: Replace all non-returning strlcpy() with strscpy()\n\tpowerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp\n\tum: Fix the -Wmissing-prototypes warning for __switch_mm\n\tmedia: cec: cec-adap: always cancel work in cec_transmit_msg_fh\n\tmedia: cec: cec-api: add locking in cec_release()\n\tnull_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()\n\tx86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER\u003dy\n\tnfc: nci: Fix uninit-value in nci_rx_work\n\tsunrpc: fix NFSACL RPC retry on soft mount\n\tipv6: sr: fix memleak in seg6_hmac_init_algo\n\tparams: lift param_set_uint_minmax to common code\n\ttcp: Fix shift-out-of-bounds in dctcp_update_alpha().\n\topenvswitch: Set the skbuff pkt_type for proper pmtud support.\n\tarm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY\n\tvirtio: delete vq in vp_find_vqs_msix() when request_irq() fails\n\tnet: fec: avoid lock evasion when reading pps_enable\n\tnfc: nci: Fix kcov check in nci_rx_work()\n\tnfc: nci: Fix handling of zero-length payload packets in nci_rx_work()\n\tnetfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()\n\tspi: Don\u0027t mark message DMA mapped when no transfer in it is\n\tnvmet: fix ns enable/disable possible hang\n\tnet/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion\n\tdma-buf/sw-sync: don\u0027t enable IRQ from sync_print_obj()\n\tenic: Validate length of nl attributes in enic_set_vf_port\n\tsmsc95xx: remove redundant function arguments\n\tsmsc95xx: use usbnet-\u003edriver_priv\n\tnet: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM\n\tnet:fec: Add fec_enet_deinit()\n\tnetfilter: tproxy: bail out if IP has been disabled on the device\n\tkconfig: fix comparison to constant symbols, \u0027m\u0027, \u0027n\u0027\n\tspi: stm32: Don\u0027t warn about spurious interrupts\n\tipvlan: Dont Use skb-\u003esk in ipvlan_process_v{4,6}_outbound\n\tALSA: timer: Set lower bound of start tick time\n\tgenirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline\n\tSUNRPC: Fix loop termination condition in gss_free_in_token_pages()\n\tbinder: fix max_thread type inconsistency\n\tmmc: core: Do not force a retune before RPMB switch\n\tio_uring: fail NOP if non-zero op flags is passed in\n\tafs: Don\u0027t cross .backup mountpoint from backup volume\n\tnilfs2: fix use-after-free of timer for log writer thread\n\tvxlan: Fix regression when dropping packets due to invalid src addresses\n\tx86/mm: Remove broken vsyscall emulation code from the page fault code\n\tf2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode()\n\tmedia: lgdt3306a: Add a check against null-pointer-def\n\tdrm/amdgpu: add error handle to avoid out-of-bounds\n\tata: pata_legacy: make legacy_exit() work again\n\tACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx\n\tarm64: tegra: Correct Tegra132 I2C alias\n\tmd/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING\n\twifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU\n\tarm64: dts: hi3798cv200: fix the size of GICR\n\tmedia: mc: mark the media devnode as registered from the, start\n\tmedia: mxl5xx: Move xpt structures off stack\n\tmedia: v4l2-core: hold videodev_lock until dev reg, finishes\n\tfbdev: savage: Handle err return when savagefb_check_var failed\n\tKVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode\n\tcrypto: ecrdsa - Fix module auto-load on add_key\n\tcrypto: qat - Fix ADF_DEV_RESET_SYNC memory leak\n\tnet/ipv6: Fix route deleting failure when metric equals 0\n\tnet/9p: fix uninit-value in p9_client_rpc()\n\tintel_th: pci: Add Meteor Lake-S CPU support\n\tsparc64: Fix number of online CPUs\n\tkdb: Fix buffer overflow during tab-complete\n\tkdb: Use format-strings rather than \u0027\\0\u0027 injection in kdb_read()\n\tkdb: Fix console handling when editing and tab-completing commands\n\tkdb: Merge identical case statements in kdb_read()\n\tkdb: Use format-specifiers rather than memset() for padding in kdb_read()\n\tnet: fix __dst_negative_advice() race\n\txsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING\n\tsparc: move struct termio to asm/termios.h\n\text4: fix mb_cache_entry\u0027s e_refcnt leak in ext4_xattr_block_cache_find()\n\ts390/ap: Fix crash in AP internal function modify_bitmap()\n\tnfs: fix undefined behavior in nfs_block_bits()\n\tLinux 5.4.278\n\nChange-Id: I0cdcfac77f01b25b5790752b68d92f1eafaa9ddd\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@google.com\u003e\n"
    },
    {
      "commit": "235b85981051cd68fc215fd32a81c6f116bfc4df",
      "tree": "151c77aba3c92b7e23b696af560c5c3842211a38",
      "parents": [
        "94ac93159b27c0a474f67f350e0f16eaee463da0"
      ],
      "author": {
        "name": "Brian Kubisiak",
        "email": "brian@kubisiak.com",
        "time": "Sun Mar 17 07:46:00 2024 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jun 16 13:28:32 2024 +0200"
      },
      "message": "ecryptfs: Fix buffer size for tag 66 packet\n\n[ Upstream commit 85a6a1aff08ec9f5b929d345d066e2830e8818e5 ]\n\nThe \u0027TAG 66 Packet Format\u0027 description is missing the cipher code and\nchecksum fields that are packed into the message packet. As a result,\nthe buffer allocated for the packet is 3 bytes too small and\nwrite_tag_66_packet() will write up to 3 bytes past the end of the\nbuffer.\n\nFix this by increasing the size of the allocation so the whole packet\nwill always fit in the buffer.\n\nThis fixes the below kasan slab-out-of-bounds bug:\n\n  BUG: KASAN: slab-out-of-bounds in ecryptfs_generate_key_packet_set+0x7d6/0xde0\n  Write of size 1 at addr ffff88800afbb2a5 by task touch/181\n\n  CPU: 0 PID: 181 Comm: touch Not tainted 6.6.13-gnu #1 4c9534092be820851bb687b82d1f92a426598dc6\n  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2/GNU Guix 04/01/2014\n  Call Trace:\n   \u003cTASK\u003e\n   dump_stack_lvl+0x4c/0x70\n   print_report+0xc5/0x610\n   ? ecryptfs_generate_key_packet_set+0x7d6/0xde0\n   ? kasan_complete_mode_report_info+0x44/0x210\n   ? ecryptfs_generate_key_packet_set+0x7d6/0xde0\n   kasan_report+0xc2/0x110\n   ? ecryptfs_generate_key_packet_set+0x7d6/0xde0\n   __asan_store1+0x62/0x80\n   ecryptfs_generate_key_packet_set+0x7d6/0xde0\n   ? __pfx_ecryptfs_generate_key_packet_set+0x10/0x10\n   ? __alloc_pages+0x2e2/0x540\n   ? __pfx_ovl_open+0x10/0x10 [overlay 30837f11141636a8e1793533a02e6e2e885dad1d]\n   ? dentry_open+0x8f/0xd0\n   ecryptfs_write_metadata+0x30a/0x550\n   ? __pfx_ecryptfs_write_metadata+0x10/0x10\n   ? ecryptfs_get_lower_file+0x6b/0x190\n   ecryptfs_initialize_file+0x77/0x150\n   ecryptfs_create+0x1c2/0x2f0\n   path_openat+0x17cf/0x1ba0\n   ? __pfx_path_openat+0x10/0x10\n   do_filp_open+0x15e/0x290\n   ? __pfx_do_filp_open+0x10/0x10\n   ? __kasan_check_write+0x18/0x30\n   ? _raw_spin_lock+0x86/0xf0\n   ? __pfx__raw_spin_lock+0x10/0x10\n   ? __kasan_check_write+0x18/0x30\n   ? alloc_fd+0xf4/0x330\n   do_sys_openat2+0x122/0x160\n   ? __pfx_do_sys_openat2+0x10/0x10\n   __x64_sys_openat+0xef/0x170\n   ? __pfx___x64_sys_openat+0x10/0x10\n   do_syscall_64+0x60/0xd0\n   entry_SYSCALL_64_after_hwframe+0x6e/0xd8\n  RIP: 0033:0x7f00a703fd67\n  Code: 25 00 00 41 00 3d 00 00 41 00 74 37 64 8b 04 25 18 00 00 00 85 c0 75 5b 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 \u003c48\u003e 3d 00 f0 ff ff 0f 87 85 00 00 00 48 83 c4 68 5d 41 5c c3 0f 1f\n  RSP: 002b:00007ffc088e30b0 EFLAGS: 00000246 ORIG_RAX: 0000000000000101\n  RAX: ffffffffffffffda RBX: 00007ffc088e3368 RCX: 00007f00a703fd67\n  RDX: 0000000000000941 RSI: 00007ffc088e48d7 RDI: 00000000ffffff9c\n  RBP: 00007ffc088e48d7 R08: 0000000000000001 R09: 0000000000000000\n  R10: 00000000000001b6 R11: 0000000000000246 R12: 0000000000000941\n  R13: 0000000000000000 R14: 00007ffc088e48d7 R15: 00007f00a7180040\n   \u003c/TASK\u003e\n\n  Allocated by task 181:\n   kasan_save_stack+0x2f/0x60\n   kasan_set_track+0x29/0x40\n   kasan_save_alloc_info+0x25/0x40\n   __kasan_kmalloc+0xc5/0xd0\n   __kmalloc+0x66/0x160\n   ecryptfs_generate_key_packet_set+0x6d2/0xde0\n   ecryptfs_write_metadata+0x30a/0x550\n   ecryptfs_initialize_file+0x77/0x150\n   ecryptfs_create+0x1c2/0x2f0\n   path_openat+0x17cf/0x1ba0\n   do_filp_open+0x15e/0x290\n   do_sys_openat2+0x122/0x160\n   __x64_sys_openat+0xef/0x170\n   do_syscall_64+0x60/0xd0\n   entry_SYSCALL_64_after_hwframe+0x6e/0xd8\n\nFixes: dddfa461fc89 (\"[PATCH] eCryptfs: Public key; packet management\")\nSigned-off-by: Brian Kubisiak \u003cbrian@kubisiak.com\u003e\nLink: https://lore.kernel.org/r/5j2q56p6qkhezva6b2yuqfrsurmvrrqtxxzrnp3wqu7xrz22i7@hoecdztoplbl\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\nSigned-off-by: Sasha Levin \u003csashal@kernel.org\u003e\n"
    },
    {
      "commit": "806fb883eac624c902270426eeb1c35786aeec25",
      "tree": "6eaa79b05742d20cd9934d08ec114a214f9cdd59",
      "parents": [
        "8eb60626067ea79ac310edbb9d8f3c2a6275911a",
        "6e1f54a4985b63bc1b55a09e5e75a974c5d6719b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Sat Feb 24 15:47:08 2024 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Sat Feb 24 15:47:08 2024 +0000"
      },
      "message": "Merge 5.4.269 into android11-5.4-lts\n\nChanges in 5.4.269\n\tPCI: mediatek: Clear interrupt status before dispatching handler\n\tinclude/linux/units.h: add helpers for kelvin to/from Celsius conversion\n\tunits: Add Watt units\n\tunits: change from \u0027L\u0027 to \u0027UL\u0027\n\tunits: add the HZ macros\n\tserial: sc16is7xx: set safe default SPI clock frequency\n\tspi: introduce SPI_MODE_X_MASK macro\n\tserial: sc16is7xx: add check for unsupported SPI modes during probe\n\text4: allow for the last group to be marked as trimmed\n\tcrypto: api - Disallow identical driver names\n\tPM: hibernate: Enforce ordering during image compression/decompression\n\thwrng: core - Fix page fault dead lock on mmap-ed hwrng\n\trpmsg: virtio: Free driver_override when rpmsg_remove()\n\tparisc/firmware: Fix F-extend for PDC addresses\n\tarm64: dts: qcom: sdm845: fix USB wakeup interrupt types\n\tmmc: core: Use mrq.sbc in close-ended ffu\n\tnouveau/vmm: don\u0027t set addr on the fail path to avoid warning\n\tubifs: ubifs_symlink: Fix memleak of inode-\u003ei_link in error path\n\trename(): fix the locking of subdirectories\n\tblock: Remove special-casing of compound pages\n\tmtd: spinand: macronix: Fix MX35LFxGE4AD page size\n\tfs: add mode_strip_sgid() helper\n\tfs: move S_ISGID stripping into the vfs_*() helpers\n\tpowerpc: Use always instead of always-y in for crtsavres.o\n\tx86/CPU/AMD: Fix disabling XSAVES on AMD family 0x17 due to erratum\n\tnet/smc: fix illegal rmb_desc access in SMC-D connection dump\n\tvlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING\n\tllc: make llc_ui_sendmsg() more robust against bonding changes\n\tllc: Drop support for ETH_P_TR_802_2.\n\tnet/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv\n\ttracing: Ensure visibility when inserting an element into tracing_map\n\tafs: Hide silly-rename files from userspace\n\ttcp: Add memory barrier to tcp_push()\n\tnetlink: fix potential sleeping issue in mqueue_flush_file\n\tnet/mlx5: DR, Use the right GVMI number for drop action\n\tnet/mlx5: Use kfree(ft-\u003eg) in arfs_create_groups()\n\tnet/mlx5e: fix a double-free in arfs_create_groups\n\tnetfilter: nf_tables: restrict anonymous set and map names to 16 bytes\n\tnetfilter: nf_tables: validate NFPROTO_* family\n\tfjes: fix memleaks in fjes_hw_setup\n\tnet: fec: fix the unhandled context fault from smmu\n\tbtrfs: ref-verify: free ref cache before clearing mount opt\n\tbtrfs: tree-checker: fix inline ref size in error messages\n\tbtrfs: don\u0027t warn if discard range is not aligned to sector\n\tbtrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args\n\trbd: don\u0027t move requests to the running list on errors\n\tnetfilter: nf_tables: reject QUEUE/DROP verdict parameters\n\tgpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04\n\tdrm: Don\u0027t unref the same fb many times by mistake due to deadlock handling\n\tdrm/bridge: nxp-ptn3460: fix i2c_master_send() error checking\n\tdrm/bridge: nxp-ptn3460: simplify some error checking\n\tdrm/exynos: fix accidental on-stack copy of exynos_drm_plane\n\tdrm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume\n\tgpio: eic-sprd: Clear interrupt after set the interrupt type\n\tspi: bcm-qspi: fix SFDP BFPT read by usig mspi read\n\tmips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan\n\ttick/sched: Preserve number of idle sleeps across CPU hotplug events\n\tx86/entry/ia32: Ensure s32 is sign extended to s64\n\tpowerpc/mm: Fix null-pointer dereference in pgtable_cache_add\n\tpowerpc: Fix build error due to is_valid_bugaddr()\n\tpowerpc/mm: Fix build failures due to arch_reserved_kernel_pages()\n\tpowerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE\n\tpowerpc/lib: Validate size for vector operations\n\tx86/mce: Mark fatal MCE\u0027s page as poison to avoid panic in the kdump kernel\n\tperf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file\n\tregulator: core: Only increment use_count when enable_count changes\n\taudit: Send netlink ACK before setting connection in auditd_set\n\tACPI: video: Add quirk for the Colorful X15 AT 23 Laptop\n\tPNP: ACPI: fix fortify warning\n\tACPI: extlog: fix NULL pointer dereference check\n\tFS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree\n\tUBSAN: array-index-out-of-bounds in dtSplitRoot\n\tjfs: fix slab-out-of-bounds Read in dtSearch\n\tjfs: fix array-index-out-of-bounds in dbAdjTree\n\tjfs: fix uaf in jfs_evict_inode\n\tpstore/ram: Fix crash when setting number of cpus to an odd number\n\tcrypto: stm32/crc32 - fix parsing list of devices\n\tafs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()\n\trxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock()\n\tjfs: fix array-index-out-of-bounds in diNewExt\n\ts390/ptrace: handle setting of fpc register correctly\n\tKVM: s390: fix setting of fpc register\n\tSUNRPC: Fix a suspicious RCU usage warning\n\tecryptfs: Reject casefold directory inodes\n\text4: fix inconsistent between segment fstrim and full fstrim\n\text4: unify the type of flexbg_size to unsigned int\n\text4: remove unnecessary check from alloc_flex_gd()\n\text4: avoid online resizing failures due to oversized flex bg\n\twifi: rt2x00: restart beacon queue when hardware reset\n\tselftests/bpf: satisfy compiler by having explicit return in btf test\n\tselftests/bpf: Fix pyperf180 compilation failure with clang18\n\tscsi: lpfc: Fix possible file string name overflow when updating firmware\n\tPCI: Add no PM reset quirk for NVIDIA Spectrum devices\n\tbonding: return -ENOMEM instead of BUG in alb_upper_dev_walk\n\tARM: dts: imx7d: Fix coresight funnel ports\n\tARM: dts: imx7s: Fix lcdif compatible\n\tARM: dts: imx7s: Fix nand-controller #size-cells\n\twifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()\n\tbpf: Add map and need_defer parameters to .map_fd_put_ptr()\n\tscsi: libfc: Don\u0027t schedule abort twice\n\tscsi: libfc: Fix up timeout error in fc_fcp_rec_error()\n\tARM: dts: rockchip: fix rk3036 hdmi ports node\n\tARM: dts: imx25/27-eukrea: Fix RTC node name\n\tARM: dts: imx: Use flash@0,0 pattern\n\tARM: dts: imx27: Fix sram node\n\tARM: dts: imx1: Fix sram node\n\tARM: dts: imx25/27: Pass timing0\n\tARM: dts: imx27-apf27dev: Fix LED name\n\tARM: dts: imx23-sansa: Use preferred i2c-gpios properties\n\tARM: dts: imx23/28: Fix the DMA controller node name\n\tblock: prevent an integer overflow in bvec_try_merge_hw_page\n\tmd: Whenassemble the array, consult the superblock of the freshest device\n\tarm64: dts: qcom: msm8996: Fix \u0027in-ports\u0027 is a required property\n\tarm64: dts: qcom: msm8998: Fix \u0027out-ports\u0027 is a required property\n\twifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices\n\twifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift()\n\twifi: cfg80211: free beacon_ies when overridden from hidden BSS\n\tf2fs: fix to check return value of f2fs_reserve_new_block()\n\tASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument\n\tfast_dput(): handle underflows gracefully\n\tRDMA/IPoIB: Fix error code return in ipoib_mcast_join\n\tdrm/drm_file: fix use of uninitialized variable\n\tdrm/framebuffer: Fix use of uninitialized variable\n\tdrm/mipi-dsi: Fix detach call without attach\n\tmedia: stk1160: Fixed high volume of stk1160_dbg messages\n\tmedia: rockchip: rga: fix swizzling for RGB formats\n\tPCI: add INTEL_HDA_ARL to pci_ids.h\n\tALSA: hda: Intel: add HDA_ARL PCI ID support\n\tdrm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time\n\tIB/ipoib: Fix mcast list locking\n\tmedia: ddbridge: fix an error code problem in ddb_probe\n\tdrm/msm/dpu: Ratelimit framedone timeout msgs\n\tclk: hi3620: Fix memory leak in hi3620_mmc_clk_init()\n\tclk: mmp: pxa168: Fix memory leak in pxa168_clk_init()\n\tdrm/amdgpu: Let KFD sync with VM fences\n\tdrm/amdgpu: Drop \u0027fence\u0027 check in \u0027to_amdgpu_amdkfd_fence()\u0027\n\tleds: trigger: panic: Don\u0027t register panic notifier if creating the trigger failed\n\tum: Fix naming clash between UML and scheduler\n\tum: Don\u0027t use vfprintf() for os_info()\n\tum: net: Fix return type of uml_net_start_xmit()\n\ti3c: master: cdns: Update maximum prescaler value for i2c clock\n\tmfd: ti_am335x_tscadc: Fix TI SoC dependencies\n\tPCI: Only override AMD USB controller if required\n\tPCI: switchtec: Fix stdev_release() crash after surprise hot remove\n\tusb: hub: Replace hardcoded quirk value with BIT() macro\n\tfs/kernfs/dir: obey S_ISGID\n\tPCI/AER: Decode Requester ID when no error info found\n\tlibsubcmd: Fix memory leak in uniq()\n\tvirtio_net: Fix \"‘%d’ directive writing between 1 and 11 bytes into a region of size 10\" warnings\n\tblk-mq: fix IO hang from sbitmap wakeup race\n\tceph: fix deadlock or deadcode of misusing dget()\n\tdrm/amdgpu: Release \u0027adev-\u003epm.fw\u0027 before return in \u0027amdgpu_device_need_post()\u0027\n\tperf: Fix the nr_addr_filters fix\n\twifi: cfg80211: fix RCU dereference in __cfg80211_bss_update\n\tscsi: isci: Fix an error code problem in isci_io_request_build()\n\tnet: remove unneeded break\n\tixgbe: Remove non-inclusive language\n\tixgbe: Refactor returning internal error codes\n\tixgbe: Refactor overtemp event handling\n\tixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550()\n\tipv6: Ensure natural alignment of const ipv6 loopback and router addresses\n\tllc: call sock_orphan() at release time\n\tnetfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger\n\tnetfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations\n\tnet: ipv4: fix a memleak in ip_setup_cork\n\taf_unix: fix lockdep positive in sk_diag_dump_icons()\n\tnet: sysfs: Fix /sys/class/net/\u003ciface\u003e path\n\tHID: apple: Add support for the 2021 Magic Keyboard\n\tHID: apple: Swap the Fn and Left Control keys on Apple keyboards\n\tHID: apple: Add 2021 magic keyboard FN key mapping\n\tbonding: remove print in bond_verify_device_path\n\tdmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA\n\tdmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA\n\tphy: renesas: rcar-gen3-usb2: Fix returning wrong error code\n\tdmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV\n\tphy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP\n\tnet: stmmac: xgmac: fix handling of DPP safety error for DMA channels\n\tselftests: net: avoid just another constant wait\n\tatm: idt77252: fix a memleak in open_card_ubr0\n\thwmon: (aspeed-pwm-tacho) mutex for tach reading\n\thwmon: (coretemp) Fix out-of-bounds memory access\n\thwmon: (coretemp) Fix bogus core_id to attr name mapping\n\tinet: read sk-\u003esk_family once in inet_recv_error()\n\trxrpc: Fix response to PING RESPONSE ACKs to a dead call\n\ttipc: Check the bearer type before calling tipc_udp_nl_bearer_add()\n\tppp_async: limit MRU to 64K\n\tnetfilter: nft_compat: reject unused compat flag\n\tnetfilter: nft_compat: restrict match/target protocol to u16\n\tnetfilter: nft_ct: reject direction for ct id\n\tnet/af_iucv: clean up a try_then_request_module()\n\tUSB: serial: qcserial: add new usb-id for Dell Wireless DW5826e\n\tUSB: serial: option: add Fibocom FM101-GL variant\n\tUSB: serial: cp210x: add ID for IMST iM871A-USB\n\thrtimer: Report offline hrtimer enqueue\n\tInput: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID\n\tvhost: use kzalloc() instead of kmalloc() followed by memset()\n\tnet: stmmac: xgmac: use #define for string constants\n\tnet: stmmac: xgmac: fix a typo of register name in DPP safety handling\n\tnetfilter: nft_set_rbtree: skip end interval element from gc\n\tbtrfs: forbid creating subvol qgroups\n\tbtrfs: forbid deleting live subvol qgroup\n\tbtrfs: send: return EOPNOTSUPP on unknown flags\n\tof: unittest: add overlay gpio test to catch gpio hog problem\n\tof: unittest: Fix compile in the non-dynamic case\n\tspi: ppc4xx: Drop write-only variable\n\tASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()\n\tMIPS: Add \u0027memory\u0027 clobber to csum_ipv6_magic() inline assembler\n\ti40e: Fix waiting for queues of all VSIs to be disabled\n\ttracing/trigger: Fix to return error if failed to alloc snapshot\n\tmm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again\n\tHID: wacom: generic: Avoid reporting a serial of \u00270\u0027 to userspace\n\tHID: wacom: Do not register input devices until after hid_hw_start\n\tUSB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT\n\tusb: f_mass_storage: forbid async queue when shutdown happen\n\ti2c: i801: Remove i801_set_block_buffer_mode\n\ti2c: i801: Fix block process call transactions\n\tscsi: Revert \"scsi: fcoe: Fix potential deadlock on \u0026fip-\u003ectlr_lock\"\n\tfirewire: core: correct documentation of fw_csr_string() kernel API\n\tkbuild: Fix changing ELF file type for output of gen_btf for big endian\n\tnfc: nci: free rx_data_reassembly skb on NCI device cleanup\n\txen-netback: properly sync TX responses\n\tALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL\n\tbinder: signal epoll threads of self-work\n\tmisc: fastrpc: Mark all sessions as invalid in cb_remove\n\text4: fix double-free of blocks due to wrong extents moved_len\n\ttracing: Fix wasted memory in saved_cmdlines logic\n\tstaging: iio: ad5933: fix type mismatch regression\n\tiio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC\n\tring-buffer: Clean ring_buffer_poll_wait() error return\n\tserial: max310x: set default value when reading clock ready bit\n\tserial: max310x: improve crystal stable clock detection\n\tx86/Kconfig: Transmeta Crusoe is CPU family 5, not 6\n\tx86/mm/ident_map: Use gbpages only where full GB page should be mapped.\n\tmmc: slot-gpio: Allow non-sleeping GPIO ro\n\tALSA: hda/conexant: Add quirk for SWS JS201D\n\tnilfs2: fix data corruption in dsync block recovery for small block sizes\n\tnilfs2: fix hang in nilfs_lookup_dirty_data_buffers()\n\tnfp: use correct macro for LengthSelect in BAR config\n\tnfp: flower: prevent re-adding mac index for bonded port\n\tirqchip/irq-brcmstb-l2: Add write memory barrier before exit\n\tcan: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)\n\tpmdomain: core: Move the unused cleanup to a _sync initcall\n\ttracing: Inform kmemleak of saved_cmdlines allocation\n\tRevert \"md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d\"\n\tbus: moxtet: Add spi device table\n\tarch, mm: remove stale mentions of DISCONIGMEM\n\tmips: Fix max_mapnr being uninitialized on early stages\n\tKVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache\n\tnetfilter: ipset: fix performance regression in swap operation\n\tnetfilter: ipset: Missing gc cancellations fixed\n\tnet: prevent mss overflow in skb_segment()\n\tsched/membarrier: reduce the ability to hammer on sys_membarrier\n\tnilfs2: fix potential bug in end_buffer_async_write\n\tPM: runtime: add devm_pm_runtime_enable helper\n\tPM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()\n\tdrm/msm/dsi: Enable runtime PM\n\tlsm: new security_file_ioctl_compat() hook\n\tnetfilter: nf_tables: fix pointer math issue in nft_byteorder_eval()\n\tRevert \"Revert \"mtd: rawnand: gpmi: Fix setting busy timeout setting\"\"\n\tnet: bcmgenet: Fix EEE implementation\n\tof: unittest: fix EXPECT text for gpio hog errors\n\tof: gpio unittest kfree() wrong object\n\tLinux 5.4.269\n\nChange-Id: Iedabcdbe95a83593f102e237f2a80d2fc7206669\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@google.com\u003e\n"
    },
    {
      "commit": "ec1075549613417434b12c49caa00dc71c185e5c",
      "tree": "1a2edad4b0b94cd450bffbe352fe4ef4652cd202",
      "parents": [
        "7a96d85bf196c170dcf1b47a82e9bb97cca69aa6"
      ],
      "author": {
        "name": "Gabriel Krisman Bertazi",
        "email": "krisman@suse.de",
        "time": "Fri Aug 11 14:38:12 2023 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 23 08:24:56 2024 +0100"
      },
      "message": "ecryptfs: Reject casefold directory inodes\n\n[ Upstream commit cd72c7ef5fed44272272a105b1da22810c91be69 ]\n\nEven though it seems to be able to resolve some names of\ncase-insensitive directories, the lack of d_hash and d_compare means we\nend up with a broken state in the d_cache.  Considering it was never a\ngoal to support these two together, and we are preparing to use\nd_revalidate in case-insensitive filesystems, which would make the\ncombination even more broken, reject any attempt to get a casefolded\ninode from ecryptfs.\n\nSigned-off-by: Gabriel Krisman Bertazi \u003ckrisman@suse.de\u003e\nReviewed-by: Eric Biggers \u003cebiggers@google.com\u003e\nSigned-off-by: Sasha Levin \u003csashal@kernel.org\u003e\n"
    },
    {
      "commit": "aac2ba64abdcac09d5c7402344c45f12ee47331c",
      "tree": "5bdd2d729b42b05b34b1f0f900faae158e733e3c",
      "parents": [
        "f007972da898641d480a02a11c12e6b19c8fa0e2",
        "67154cff6258e46b05acc9f797e3328ed839b0e2"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Fri May 28 13:26:18 2021 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Fri May 28 13:26:18 2021 +0200"
      },
      "message": "Merge 5.4.122 into android11-5.4-lts\n\nChanges in 5.4.122\n\tfirmware: arm_scpi: Prevent the ternary sign expansion bug\n\topenrisc: Fix a memory leak\n\tRDMA/siw: Properly check send and receive CQ pointers\n\tRDMA/siw: Release xarray entry\n\tRDMA/rxe: Clear all QP fields if creation failed\n\tscsi: ufs: core: Increase the usable queue depth\n\tscsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword()\n\tRDMA/mlx5: Recover from fatal event in dual port mode\n\tRDMA/core: Don\u0027t access cm_id after its destruction\n\tplatform/mellanox: mlxbf-tmfifo: Fix a memory barrier issue\n\tplatform/x86: dell-smbios-wmi: Fix oops on rmmod dell_smbios\n\tRDMA/uverbs: Fix a NULL vs IS_ERR() bug\n\tptrace: make ptrace() fail if the tracee changed its pid unexpectedly\n\tnvmet: seset ns-\u003efile when open fails\n\tlocking/mutex: clear MUTEX_FLAGS if wait_list is empty due to signal\n\tbtrfs: avoid RCU stalls while running delayed iputs\n\tcifs: fix memory leak in smb2_copychunk_range\n\tALSA: dice: fix stream format for TC Electronic Konnekt Live at high sampling transfer frequency\n\tALSA: intel8x0: Don\u0027t update period unless prepared\n\tALSA: line6: Fix racy initialization of LINE6 MIDI\n\tALSA: dice: fix stream format at middle sampling rate for Alesis iO 26\n\tALSA: firewire-lib: fix calculation for size of IR context payload\n\tALSA: usb-audio: Validate MS endpoint descriptors\n\tALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro\n\tALSA: hda: fixup headset for ASUS GU502 laptop\n\tRevert \"ALSA: sb8: add a check for request_region\"\n\tALSA: firewire-lib: fix check for the size of isochronous packet payload\n\tALSA: hda/realtek: reset eapd coeff to default value for alc287\n\tALSA: hda/realtek: Add some CLOVE SSIDs of ALC293\n\tALSA: hda/realtek: Fix silent headphone output on ASUS UX430UA\n\tALSA: hda/realtek: Add fixup for HP OMEN laptop\n\tALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx\n\tuio_hv_generic: Fix a memory leak in error handling paths\n\tRevert \"rapidio: fix a NULL pointer dereference when create_workqueue() fails\"\n\trapidio: handle create_workqueue() failure\n\tRevert \"serial: mvebu-uart: Fix to avoid a potential NULL pointer dereference\"\n\tdrm/amdgpu: disable 3DCGCG on picasso/raven1 to avoid compute hang\n\tdrm/amdgpu: update gc golden setting for Navi12\n\tdrm/amdgpu: update sdma golden setting for Navi12\n\tmmc: sdhci-pci-gli: increase 1.8V regulator wait\n\txen-pciback: reconfigure also from backend watch handler\n\tdm snapshot: fix crash with transient storage and zero chunk size\n\tRevert \"video: hgafb: fix potential NULL pointer dereference\"\n\tRevert \"net: stmicro: fix a missing check of clk_prepare\"\n\tRevert \"leds: lp5523: fix a missing check of return value of lp55xx_read\"\n\tRevert \"hwmon: (lm80) fix a missing check of bus read in lm80 probe\"\n\tRevert \"video: imsttfb: fix potential NULL pointer dereferences\"\n\tRevert \"ecryptfs: replace BUG_ON with error handling code\"\n\tRevert \"scsi: ufs: fix a missing check of devm_reset_control_get\"\n\tRevert \"gdrom: fix a memory leak bug\"\n\tcdrom: gdrom: deallocate struct gdrom_unit fields in remove_gdrom\n\tcdrom: gdrom: initialize global variable at init time\n\tRevert \"media: rcar_drif: fix a memory disclosure\"\n\tRevert \"rtlwifi: fix a potential NULL pointer dereference\"\n\tRevert \"qlcnic: Avoid potential NULL pointer dereference\"\n\tRevert \"niu: fix missing checks of niu_pci_eeprom_read\"\n\tethernet: sun: niu: fix missing checks of niu_pci_eeprom_read()\n\tnet: stmicro: handle clk_prepare() failure during init\n\tscsi: ufs: handle cleanup correctly on devm_reset_control_get error\n\tnet: rtlwifi: properly check for alloc_workqueue() failure\n\tics932s401: fix broken handling of errors when word reading fails\n\tleds: lp5523: check return value of lp5xx_read and jump to cleanup code\n\tqlcnic: Add null check after calling netdev_alloc_skb\n\tvideo: hgafb: fix potential NULL pointer dereference\n\tvgacon: Record video mode changes with VT_RESIZEX\n\tvt: Fix character height handling with VT_RESIZEX\n\ttty: vt: always invoke vc-\u003evc_sw-\u003econ_resize callback\n\tnvme-multipath: fix double initialization of ANA state\n\text4: fix error handling in ext4_end_enable_verity()\n\tBluetooth: L2CAP: Fix handling LE modes by L2CAP_OPTIONS\n\tnvmet: use new ana_log_size instead the old one\n\tvideo: hgafb: correctly handle card detect failure during probe\n\tBluetooth: SMP: Fail if remote and local public keys are identical\n\tLinux 5.4.122\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@google.com\u003e\nChange-Id: Ib3df731ada0e576ded0aa2c28ca6cf507ab6c08f\n"
    },
    {
      "commit": "9c24899f1fae1f755840a88ec697b523f1536f07",
      "tree": "3cb3af85356169dc9eb2fa947d3312c22015d5fc",
      "parents": [
        "a1f0e2bb497548360c27191ef4a5bf17ab9cc4d8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 03 13:57:15 2021 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 26 12:05:19 2021 +0200"
      },
      "message": "Revert \"ecryptfs: replace BUG_ON with error handling code\"\n\ncommit e1436df2f2550bc89d832ffd456373fdf5d5b5d7 upstream.\n\nThis reverts commit 2c2a7552dd6465e8fde6bc9cccf8d66ed1c1eb72.\n\nBecause of recent interactions with developers from @umn.edu, all\ncommits from them have been recently re-reviewed to ensure if they were\ncorrect or not.\n\nUpon review, this commit was found to be incorrect for the reasons\nbelow, so it must be reverted.  It will be fixed up \"correctly\" in a\nlater kernel change.\n\nThe original commit log for this change was incorrect, no \"error\nhandling code\" was added, things will blow up just as badly as before if\nany of these cases ever were true.  As this BUG_ON() never fired, and\nmost of these checks are \"obviously\" never going to be true, let\u0027s just\nrevert to the original code for now until this gets unwound to be done\ncorrectly in the future.\n\nCc: Aditya Pakki \u003cpakki001@umn.edu\u003e\nFixes: 2c2a7552dd64 (\"ecryptfs: replace BUG_ON with error handling code\")\nCc: stable \u003cstable@vger.kernel.org\u003e\nAcked-by: Tyler Hicks \u003ccode@tyhicks.com\u003e\nLink: https://lore.kernel.org/r/20210503115736.2104747-49-gregkh@linuxfoundation.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8063cb860d61d95329bdaf6cf1ed47dab79de666",
      "tree": "7a3426809e67165af12ad44ff6b1b5fa0b3f2726",
      "parents": [
        "a99465f80d89373bf025a99b8aa8e5bb60c9e5c7",
        "16022114de9869743d6304290815cdb8a8c7deaa"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Tue May 11 16:56:33 2021 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Tue May 11 16:56:33 2021 +0200"
      },
      "message": "Merge 5.4.118 into android11-5.4-lts\n\nChanges in 5.4.118\n\ts390/disassembler: increase ebpf disasm buffer size\n\tACPI: custom_method: fix potential use-after-free issue\n\tACPI: custom_method: fix a possible memory leak\n\tftrace: Handle commands when closing set_ftrace_filter file\n\tARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld\n\tarm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node\n\tarm64: dts: mt8173: fix property typo of \u0027phys\u0027 in dsi node\n\tecryptfs: fix kernel panic with null dev_name\n\tmtd: spinand: core: add missing MODULE_DEVICE_TABLE()\n\tmtd: rawnand: atmel: Update ecc_stats.corrected counter\n\terofs: add unsupported inode i_format check\n\tspi: spi-ti-qspi: Free DMA resources\n\tscsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand()\n\tscsi: mpt3sas: Block PCI config access from userspace during reset\n\tmmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe()\n\tmmc: uniphier-sd: Fix a resource leak in the remove function\n\tmmc: sdhci: Check for reset prior to DMA address unmap\n\tmmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers\n\tmmc: block: Update ext_csd.cache_ctrl if it was written\n\tmmc: block: Issue a cache flush only when it\u0027s enabled\n\tmmc: core: Do a power cycle when the CMD11 fails\n\tmmc: core: Set read only for SD cards with permanent write protect bit\n\tmmc: core: Fix hanging on I/O during system suspend for removable cards\n\tmodules: mark ref_module static\n\tmodules: mark find_symbol static\n\tmodules: mark each_symbol_section static\n\tmodules: unexport __module_text_address\n\tmodules: unexport __module_address\n\tmodules: rename the licence field in struct symsearch to license\n\tmodules: return licensing information from find_symbol\n\tmodules: inherit TAINT_PROPRIETARY_MODULE\n\tirqchip/gic-v3: Do not enable irqs when handling spurious interrups\n\tcifs: Return correct error code from smb2_get_enc_key\n\tbtrfs: fix metadata extent leak after failure to create subvolume\n\tintel_th: pci: Add Rocket Lake CPU support\n\tposix-timers: Preserve return value in clock_adjtime32()\n\tfbdev: zero-fill colormap in fbcmap.c\n\tbus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first\n\tstaging: wimax/i2400m: fix byte-order issue\n\tspi: ath79: always call chipselect function\n\tspi: ath79: remove spi-master setup and cleanup assignment\n\tcrypto: api - check for ERR pointers in crypto_destroy_tfm()\n\tcrypto: qat - fix unmap invalid dma address\n\tusb: gadget: uvc: add bInterval checking for HS mode\n\tusb: webcam: Invalid size of Processing Unit Descriptor\n\tgenirq/matrix: Prevent allocation counter corruption\n\tusb: gadget: f_uac2: validate input parameters\n\tusb: gadget: f_uac1: validate input parameters\n\tusb: dwc3: gadget: Ignore EP queue requests during bus reset\n\tusb: xhci: Fix port minor revision\n\tPCI: PM: Do not read power state in pci_enable_device_flags()\n\tx86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS)\n\ttee: optee: do not check memref size on return from Secure World\n\tperf/arm_pmu_platform: Fix error handling\n\tusb: xhci-mtk: support quirk to disable usb2 lpm\n\txhci: check control context is valid before dereferencing it.\n\txhci: fix potential array out of bounds with several interrupters\n\tspi: dln2: Fix reference leak to master\n\tspi: omap-100k: Fix reference leak to master\n\tspi: qup: fix PM reference leak in spi_qup_remove()\n\tusb: musb: fix PM reference leak in musb_irq_work()\n\tusb: core: hub: Fix PM reference leak in usb_port_resume()\n\ttty: n_gsm: check error while registering tty devices\n\tintel_th: Consistency and off-by-one fix\n\tphy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove()\n\tcrypto: stm32/hash - Fix PM reference leak on stm32-hash.c\n\tcrypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c\n\tcrypto: omap-aes - Fix PM reference leak on omap-aes.c\n\tplatform/x86: intel_pmc_core: Don\u0027t use global pmcdev in quirks\n\tbtrfs: convert logic BUG_ON()\u0027s in replace_path to ASSERT()\u0027s\n\tdrm: Added orientation quirk for OneGX1 Pro\n\tdrm/qxl: release shadow on shutdown\n\tdrm/amd/display: Check for DSC support instead of ASIC revision\n\tdrm/amd/display: Don\u0027t optimize bandwidth before disabling planes\n\tscsi: lpfc: Fix incorrect dbde assignment when building target abts wqe\n\tscsi: lpfc: Fix pt2pt connection does not recover after LOGO\n\tscsi: target: pscsi: Fix warning in pscsi_complete_cmd()\n\tmedia: ite-cir: check for receive overflow\n\tmedia: drivers: media: pci: sta2x11: fix Kconfig dependency on GPIOLIB\n\tmedia: imx: capture: Return -EPIPE from __capture_legacy_try_fmt()\n\tpower: supply: bq27xxx: fix power_avg for newer ICs\n\textcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged\n\textcon: arizona: Fix various races on driver unbind\n\tmedia: media/saa7164: fix saa7164_encoder_register() memory leak bugs\n\tmedia: gspca/sq905.c: fix uninitialized variable\n\tpower: supply: Use IRQF_ONESHOT\n\tdrm/amdgpu: mask the xgmi number of hops reported from psp to kfd\n\tdrm/amdkfd: Fix UBSAN shift-out-of-bounds warning\n\tdrm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f\n\tdrm/amd/display: Fix UBSAN warning for not a valid value for type \u0027_Bool\u0027\n\tdrm/amd/display: fix dml prefetch validation\n\tscsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats()\n\tdrm/vkms: fix misuse of WARN_ON\n\tscsi: qla2xxx: Fix use after free in bsg\n\tmmc: sdhci-pci: Add PCI IDs for Intel LKF\n\tata: ahci: Disable SXS for Hisilicon Kunpeng920\n\tscsi: smartpqi: Correct request leakage during reset operations\n\tscsi: smartpqi: Add new PCI IDs\n\tscsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg()\n\tmedia: em28xx: fix memory leak\n\tmedia: vivid: update EDID\n\tclk: socfpga: arria10: Fix memory leak of socfpga_clk on error return\n\tpower: supply: generic-adc-battery: fix possible use-after-free in gab_remove()\n\tpower: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove()\n\tmedia: tc358743: fix possible use-after-free in tc358743_remove()\n\tmedia: adv7604: fix possible use-after-free in adv76xx_remove()\n\tmedia: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove()\n\tmedia: i2c: tda1997: Fix possible use-after-free in tda1997x_remove()\n\tmedia: i2c: adv7842: fix possible use-after-free in adv7842_remove()\n\tmedia: platform: sti: Fix runtime PM imbalance in regs_show\n\tmedia: dvb-usb: fix memory leak in dvb_usb_adapter_init\n\tmedia: gscpa/stv06xx: fix memory leak\n\tsched/fair: Ignore percpu threads for imbalance pulls\n\tdrm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal\n\tdrm/msm/mdp5: Do not multiply vclk line count by 100\n\tdrm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug\n\tamdgpu: avoid incorrect %hu format string\n\tdrm/amdgpu: fix NULL pointer dereference\n\tscsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response\n\tscsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode\n\tscsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic\n\tmfd: arizona: Fix rumtime PM imbalance on error\n\tscsi: libfc: Fix a format specifier\n\ts390/archrandom: add parameter check for s390_arch_random_generate\n\tALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer\n\tALSA: hda/conexant: Re-order CX5066 quirk table entries\n\tALSA: sb: Fix two use after free in snd_sb_qsound_build\n\tALSA: usb-audio: Explicitly set up the clock selector\n\tALSA: usb-audio: More constifications\n\tALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8\n\tALSA: hda/realtek: GA503 use same quirks as GA401\n\tALSA: hda/realtek: fix mic boost on Intel NUC 8\n\tALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops\n\tALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx\n\tbtrfs: fix race when picking most recent mod log operation for an old root\n\tarm64/vdso: Discard .note.gnu.property sections in vDSO\n\tMakefile: Move -Wno-unused-but-set-variable out of GCC only block\n\tvirtiofs: fix memory leak in virtio_fs_probe()\n\tubifs: Only check replay with inode type to judge if inode linked\n\tf2fs: fix to avoid out-of-bounds memory access\n\tmlxsw: spectrum_mr: Update egress RIF list before route\u0027s action\n\topenvswitch: fix stack OOB read while fragmenting IPv4 packets\n\tACPI: GTDT: Don\u0027t corrupt interrupt mappings on watchdow probe failure\n\tNFS: Don\u0027t discard pNFS layout segments that are marked for return\n\tNFSv4: Don\u0027t discard segments marked for return in _pnfs_return_layout()\n\tInput: ili210x - add missing negation for touch indication on ili210x\n\tjffs2: Fix kasan slab-out-of-bounds problem\n\tpowerpc/eeh: Fix EEH handling for hugepages in ioremap space.\n\tpowerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h\n\tintel_th: pci: Add Alder Lake-M support\n\ttpm: efi: Use local variable for calculating final log size\n\ttpm: vtpm_proxy: Avoid reading host log when using a virtual device\n\tcrypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS\n\tmd/raid1: properly indicate failure when ending a failed write request\n\tdm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences\n\tfuse: fix write deadlock\n\tsecurity: commoncap: fix -Wstringop-overread warning\n\tFix misc new gcc warnings\n\tjffs2: check the validity of dstlen in jffs2_zlib_compress()\n\tRevert 337f13046ff0 (\"futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op\")\n\tx86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported\n\tkbuild: update config_data.gz only when the content of .config is changed\n\text4: fix check to prevent false positive report of incorrect used inodes\n\text4: do not set SB_ACTIVE in ext4_orphan_cleanup()\n\text4: fix error code in ext4_commit_super\n\tmedia: dvbdev: Fix memory leak in dvb_media_device_free()\n\tmedia: dvb-usb: Fix use-after-free access\n\tmedia: dvb-usb: Fix memory leak at error in dvb_usb_device_init()\n\tmedia: staging/intel-ipu3: Fix memory leak in imu_fmt\n\tmedia: staging/intel-ipu3: Fix set_fmt error handling\n\tmedia: staging/intel-ipu3: Fix race condition during set_fmt\n\tusb: gadget: dummy_hcd: fix gpf in gadget_setup\n\tusb: gadget: Fix double free of device descriptor pointers\n\tusb: gadget/function/f_fs string table fix for multiple languages\n\tusb: dwc3: gadget: Fix START_TRANSFER link state check\n\tusb: dwc2: Fix session request interrupt handler\n\ttty: fix memory leak in vc_deallocate\n\trsi: Use resume_noirq for SDIO\n\ttracing: Map all PIDs to command lines\n\ttracing: Restructure trace_clock_global() to never block\n\tdm persistent data: packed struct should have an aligned() attribute too\n\tdm space map common: fix division bug in sm_ll_find_free_block()\n\tdm integrity: fix missing goto in bitmap_flush_interval error handling\n\tdm rq: fix double free of blk_mq_tag_set in dev remove after table load fails\n\tLinux 5.4.118\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@google.com\u003e\nChange-Id: I3df43f7c0e3684387c20a29934bcdd9bcdf71f0e\n"
    },
    {
      "commit": "fd1772305002f3ebdc2e38586ea8e729d44d402c",
      "tree": "f72cd7b07aaa8f58c98efbbd07bfc25d431e3f14",
      "parents": [
        "e057164f8731266d3b554b0b89f5bea66ab93824"
      ],
      "author": {
        "name": "Jeffrey Mitchell",
        "email": "jeffrey.mitchell@starlab.io",
        "time": "Fri Feb 26 15:00:23 2021 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 11 14:04:02 2021 +0200"
      },
      "message": "ecryptfs: fix kernel panic with null dev_name\n\ncommit 9046625511ad8dfbc8c6c2de16b3532c43d68d48 upstream.\n\nWhen mounting eCryptfs, a null \"dev_name\" argument to ecryptfs_mount()\ncauses a kernel panic if the parsed options are valid. The easiest way to\nreproduce this is to call mount() from userspace with an existing\neCryptfs mount\u0027s options and a \"source\" argument of 0.\n\nError out if \"dev_name\" is null in ecryptfs_mount()\n\nFixes: 237fead61998 (\"[PATCH] ecryptfs: fs/Makefile and fs/Kconfig\")\nCc: stable@vger.kernel.org\nSigned-off-by: Jeffrey Mitchell \u003cjeffrey.mitchell@starlab.io\u003e\nSigned-off-by: Tyler Hicks \u003ccode@tyhicks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2c2101d18159c62c89e31733f241ae2c8bebec0c",
      "tree": "669d6bece4c95c28238c5650510cdcd80c6d462d",
      "parents": [
        "aeb2afab7c803cd63c15e66ac9054edfee0ee54e",
        "bfe3046ecafdd71ba6932deebe2eb357048b7bfc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Sun Mar 01 10:17:44 2020 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Sun Mar 01 10:17:44 2020 +0100"
      },
      "message": "Merge 5.4.23 into android-5.4\n\nChanges in 5.4.23\n\tiommu/qcom: Fix bogus detach logic\n\tALSA: hda: Use scnprintf() for printing texts for sysfs/procfs\n\tALSA: hda/realtek - Apply quirk for MSI GP63, too\n\tALSA: hda/realtek - Apply quirk for yet another MSI laptop\n\tASoC: codec2codec: avoid invalid/double-free of pcm runtime\n\tASoC: sun8i-codec: Fix setting DAI data format\n\ttpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST\n\tecryptfs: fix a memory leak bug in parse_tag_1_packet()\n\tecryptfs: fix a memory leak bug in ecryptfs_init_messaging()\n\tbtrfs: handle logged extent failure properly\n\tthunderbolt: Prevent crash if non-active NVMem file is read\n\tUSB: misc: iowarrior: add support for 2 OEMed devices\n\tUSB: misc: iowarrior: add support for the 28 and 28L devices\n\tUSB: misc: iowarrior: add support for the 100 device\n\te1000e: Use rtnl_lock to prevent race conditions between net and pci/pm\n\tfloppy: check FDC index for errors before assigning it\n\tvt: fix scrollback flushing on background consoles\n\tvt: selection, handle pending signals in paste_selection\n\tvt: vt_ioctl: fix race in VT_RESIZEX\n\tstaging: android: ashmem: Disallow ashmem memory from being remapped\n\tstaging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi.\n\txhci: Force Maximum Packet size for Full-speed bulk devices to valid range.\n\txhci: fix runtime pm enabling for quirky Intel hosts\n\txhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms\n\txhci: Fix memory leak when caching protocol extended capability PSI tables - take 2\n\tusb: host: xhci: update event ring dequeue pointer on purpose\n\tUSB: core: add endpoint-blacklist quirk\n\tUSB: quirks: blacklist duplicate ep on Sound Devices USBPre2\n\tusb: uas: fix a plug \u0026 unplug racing\n\tUSB: Fix novation SourceControl XL after suspend\n\tUSB: hub: Don\u0027t record a connect-change event during reset-resume\n\tUSB: hub: Fix the broken detection of USB3 device in SMSC hub\n\tusb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows\n\tusb: dwc3: gadget: Check for IOC/LST bit in TRB-\u003ectrl fields\n\tusb: dwc3: debug: fix string position formatting mixup with ret and len\n\tscsi: Revert \"target/core: Inline transport_lun_remove_cmd()\"\n\tstaging: rtl8188eu: Fix potential security hole\n\tstaging: rtl8188eu: Fix potential overuse of kernel memory\n\tstaging: rtl8723bs: Fix potential security hole\n\tstaging: rtl8723bs: Fix potential overuse of kernel memory\n\tdrm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context\n\tpowerpc/8xx: Fix clearing of bits 20-23 in ITLB miss\n\tpowerpc/eeh: Fix deadlock handling dead PHB\n\tpowerpc/tm: Fix clearing MSR[TS] in current when reclaiming on signal delivery\n\tpowerpc/entry: Fix an #if which should be an #ifdef in entry_32.S\n\tpowerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size\n\tpowerpc/hugetlb: Fix 8M hugepages on 8xx\n\tarm64: memory: Add missing brackets to untagged_addr() macro\n\tjbd2: fix ocfs2 corrupt when clearing block group bits\n\tx86/ima: use correct identifier for SetupMode variable\n\tx86/mce/amd: Publish the bank pointer only after setup has succeeded\n\tx86/mce/amd: Fix kobject lifetime\n\tx86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF\n\tserial: 8250: Check UPF_IRQ_SHARED in advance\n\ttty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode\n\ttty: serial: imx: setup the correct sg entry for tx dma\n\ttty: serial: qcom_geni_serial: Fix RX cancel command failure\n\tserdev: ttyport: restore client ops on deregistration\n\tMAINTAINERS: Update drm/i915 bug filing URL\n\tACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()\n\tRevert \"ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()\"\n\tmm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps()\n\tnvme-multipath: Fix memory leak with ana_log_buf\n\tgenirq/irqdomain: Make sure all irq domain flags are distinct\n\tmm/vmscan.c: don\u0027t round up scan size for online memory cgroup\n\tmm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM\n\tlib/stackdepot.c: fix global out-of-bounds in stack_slabs\n\tmm: Avoid creating virtual address aliases in brk()/mmap()/mremap()\n\tdrm/amdgpu/soc15: fix xclk for raven\n\tdrm/amdgpu/gfx9: disable gfxoff when reading rlc clock\n\tdrm/amdgpu/gfx10: disable gfxoff when reading rlc clock\n\tdrm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets\n\tdrm/i915: Wean off drm_pci_alloc/drm_pci_free\n\tdrm/i915: Update drm/i915 bug filing URL\n\tsched/psi: Fix OOB write when writing 0 bytes to PSI files\n\tKVM: nVMX: Don\u0027t emulate instructions in guest mode\n\tKVM: x86: don\u0027t notify userspace IOAPIC on edge-triggered interrupt EOI\n\text4: fix a data race in EXT4_I(inode)-\u003ei_disksize\n\text4: add cond_resched() to __ext4_find_entry()\n\text4: fix potential race between online resizing and write operations\n\text4: fix potential race between s_group_info online resizing and access\n\text4: fix potential race between s_flex_groups online resizing and access\n\text4: fix mount failure with quota configured as module\n\text4: rename s_journal_flag_rwsem to s_writepages_rwsem\n\text4: fix race between writepages and enabling EXT4_EXTENTS_FL\n\tKVM: nVMX: Refactor IO bitmap checks into helper function\n\tKVM: nVMX: Check IO instruction VM-exit conditions\n\tKVM: nVMX: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled\n\tKVM: nVMX: handle nested posted interrupts when apicv is disabled for L1\n\tKVM: apic: avoid calculating pending eoi from an uninitialized val\n\tbtrfs: destroy qgroup extent records on transaction abort\n\tbtrfs: fix bytes_may_use underflow in prealloc error condtition\n\tbtrfs: reset fs_root to NULL on error in open_ctree\n\tbtrfs: do not check delayed items are empty for single transaction cleanup\n\tBtrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents\n\tBtrfs: fix race between shrinking truncate and fiemap\n\tbtrfs: don\u0027t set path-\u003eleave_spinning for truncate\n\tBtrfs: fix deadlock during fast fsync when logging prealloc extents beyond eof\n\tRevert \"dmaengine: imx-sdma: Fix memory leak\"\n\tdrm/i915/gt: Detect if we miss WaIdleLiteRestore\n\tdrm/i915/execlists: Always force a context reload when rewinding RING_TAIL\n\tdrm/i915/gvt: more locking for ppgtt mm LRU list\n\tdrm/bridge: tc358767: fix poll timeouts\n\tdrm/i915/gt: Protect defer_request() from new waiters\n\tdrm/msm/dpu: fix BGR565 vs RGB565 confusion\n\tscsi: Revert \"RDMA/isert: Fix a recently introduced regression related to logout\"\n\tscsi: Revert \"target: iscsi: Wait for all commands to finish before freeing a session\"\n\tusb: gadget: composite: Fix bMaxPower for SuperSpeedPlus\n\tusb: dwc2: Fix in ISOC request length checking\n\tstaging: rtl8723bs: fix copy of overlapping memory\n\tstaging: greybus: use after free in gb_audio_manager_remove_all()\n\tASoC: atmel: fix atmel_ssc_set_audio link failure\n\tASoC: fsl_sai: Fix exiting path on probing failure\n\tecryptfs: replace BUG_ON with error handling code\n\tiommu/vt-d: Fix compile warning from intel-svm.h\n\tcrypto: rename sm3-256 to sm3 in hash_algo_name\n\tgenirq/proc: Reject invalid affinity masks (again)\n\tbpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill\n\tarm64: lse: Fix LSE atomics with LLVM\n\tio_uring: fix __io_iopoll_check deadlock in io_sq_thread\n\tALSA: rawmidi: Avoid bit fields for state flags\n\tALSA: seq: Avoid concurrent access to queue flags\n\tALSA: seq: Fix concurrent access to queue current tick/time\n\tnetfilter: xt_hashlimit: limit the max size of hashtable\n\trxrpc: Fix call RCU cleanup using non-bh-safe locks\n\tio_uring: prevent sq_thread from spinning when it should stop\n\tata: ahci: Add shutdown to freeze hardware resources of ahci\n\txen: Enable interrupts when calling _cond_resched()\n\tnet/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY\n\tnet/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa\n\tnet/mlx5e: Fix crash in recovery flow without devlink reporter\n\ts390/kaslr: Fix casts in get_random\n\ts390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range\n\tbpf: Selftests build error in sockmap_basic.c\n\tASoC: SOF: Intel: hda: Add iDisp4 DAI\n\tLinux 5.4.23\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@google.com\u003e\nChange-Id: I1d60f06bcb6ee74e5601976c7af79153c41af11c\n"
    },
    {
      "commit": "cfde4697ea4d66c7bfb1599eef189211471b2c38",
      "tree": "87fdab9666260c1f11f3880d64ca0ad29c5beb61",
      "parents": [
        "4c585d1e98d946cc89d9c3bbeaaa700e85d55599"
      ],
      "author": {
        "name": "Aditya Pakki",
        "email": "pakki001@umn.edu",
        "time": "Fri Feb 14 12:21:01 2020 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 28 17:22:26 2020 +0100"
      },
      "message": "ecryptfs: replace BUG_ON with error handling code\n\ncommit 2c2a7552dd6465e8fde6bc9cccf8d66ed1c1eb72 upstream.\n\nIn crypt_scatterlist, if the crypt_stat argument is not set up\ncorrectly, the kernel crashes. Instead, by returning an error code\nupstream, the error is handled safely.\n\nThe issue is detected via a static analysis tool written by us.\n\nFixes: 237fead619984 (ecryptfs: fs/Makefile and fs/Kconfig)\nSigned-off-by: Aditya Pakki \u003cpakki001@umn.edu\u003e\nSigned-off-by: Tyler Hicks \u003ccode@tyhicks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3c4ef8ac8f4b9fafc2aa29f6f6adeda12a18783e",
      "tree": "55dc91074ebb769f8fe40f777c3993fd4ff5b0da",
      "parents": [
        "7e1dbc6656ffebf48fb3b521fc4836d716d8d5cc"
      ],
      "author": {
        "name": "Wenwen Wang",
        "email": "wenwen@cs.uga.edu",
        "time": "Tue Aug 20 00:33:54 2019 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 28 17:22:13 2020 +0100"
      },
      "message": "ecryptfs: fix a memory leak bug in ecryptfs_init_messaging()\n\ncommit b4a81b87a4cfe2bb26a4a943b748d96a43ef20e8 upstream.\n\nIn ecryptfs_init_messaging(), if the allocation for \u0027ecryptfs_msg_ctx_arr\u0027\nfails, the previously allocated \u0027ecryptfs_daemon_hash\u0027 is not deallocated,\nleading to a memory leak bug. To fix this issue, free\n\u0027ecryptfs_daemon_hash\u0027 before returning the error.\n\nCc: stable@vger.kernel.org\nFixes: 88b4a07e6610 (\"[PATCH] eCryptfs: Public key transport mechanism\")\nSigned-off-by: Wenwen Wang \u003cwenwen@cs.uga.edu\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "7e1dbc6656ffebf48fb3b521fc4836d716d8d5cc",
      "tree": "032b185aa415db68b4b5cafecff8c38013ece7e5",
      "parents": [
        "909149bf61da3d69a3091bc7775e046e9b73b8e3"
      ],
      "author": {
        "name": "Wenwen Wang",
        "email": "wenwen@cs.uga.edu",
        "time": "Tue Aug 20 00:16:40 2019 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 28 17:22:13 2020 +0100"
      },
      "message": "ecryptfs: fix a memory leak bug in parse_tag_1_packet()\n\ncommit fe2e082f5da5b4a0a92ae32978f81507ef37ec66 upstream.\n\nIn parse_tag_1_packet(), if tag 1 packet contains a key larger than\nECRYPTFS_MAX_ENCRYPTED_KEY_BYTES, no cleanup is executed, leading to a\nmemory leak on the allocated \u0027auth_tok_list_item\u0027. To fix this issue, go to\nthe label \u0027out_free\u0027 to perform the cleanup work.\n\nCc: stable@vger.kernel.org\nFixes: dddfa461fc89 (\"[PATCH] eCryptfs: Public key; packet management\")\nSigned-off-by: Wenwen Wang \u003cwenwen@cs.uga.edu\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ad5859c6aefa33a31abf0857356ae0f078a573cb",
      "tree": "7f36e438f4ba1fef19409589608e2d8e6adc3796",
      "parents": [
        "f9aa2c60711d0f0bc51f6b37525199cd3c2e2e38",
        "af42d3466bdc8f39806b26f593604fdc54140bcb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Mon Nov 18 08:31:11 2019 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@google.com",
        "time": "Mon Nov 18 08:31:11 2019 +0100"
      },
      "message": "Merge 5.4-rc8 into android-mainline\n\nLinux 5.4-rc8\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@google.com\u003e\nChange-Id: I1f55e5d34dc78ddb064910ce1e1b7a7b5b39aaba\n"
    },
    {
      "commit": "762c69685ff7ad5ad7fee0656671e20a0c9c864d",
      "tree": "9dd2bdbab0f29a6ed9014f56db9ec384c327a282",
      "parents": [
        "e72b9dd6a5f17d0fb51f16f8685f3004361e83d0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 03 13:55:43 2019 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 10 11:57:45 2019 -0500"
      },
      "message": "ecryptfs_lookup_interpose(): lower_dentry-\u003ed_parent is not stable either\n\nWe need to get the underlying dentry of parent; sure, absent the races\nit is the parent of underlying dentry, but there\u0027s nothing to prevent\nlosing a timeslice to preemtion in the middle of evaluation of\nlower_dentry-\u003ed_parent-\u003ed_inode, having another process move lower_dentry\naround and have its (ex)parent not pinned anymore and freed on memory\npressure.  Then we regain CPU and try to fetch -\u003ed_inode from memory\nthat is freed by that point.\n\ndentry-\u003ed_parent *is* stable here - it\u0027s an argument of -\u003elookup() and\nwe are guaranteed that it won\u0027t be moved anywhere until we feed it\nto d_add/d_splice_alias.  So we safely go that way to get to its\nunderlying dentry.\n\nCc: stable@vger.kernel.org # since 2009 or so\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e72b9dd6a5f17d0fb51f16f8685f3004361e83d0",
      "tree": "19a562a037fad18df276c5847f43b57b646da2dc",
      "parents": [
        "bcf0d9d4b76976f892154efdfc509b256fd898e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 03 13:45:04 2019 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 10 11:57:44 2019 -0500"
      },
      "message": "ecryptfs_lookup_interpose(): lower_dentry-\u003ed_inode is not stable\n\nlower_dentry can\u0027t go from positive to negative (we have it pinned),\nbut it *can* go from negative to positive.  So fetching -\u003ed_inode\ninto a local variable, doing a blocking allocation, checking that\nnow -\u003ed_inode is non-NULL and feeding the value we\u0027d fetched\nearlier to a function that won\u0027t accept NULL is not a good idea.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bcf0d9d4b76976f892154efdfc509b256fd898e8",
      "tree": "b7af3ca1f5cfa9966fe1644b7d82d255a1db6f53",
      "parents": [
        "69924b89687a2923e88cc42144aea27868913d0e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 03 12:07:15 2019 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 10 11:57:44 2019 -0500"
      },
      "message": "ecryptfs: fix unlink and rmdir in face of underlying fs modifications\n\nA problem similar to the one caught in commit 74dd7c97ea2a (\"ecryptfs_rename():\nverify that lower dentries are still OK after lock_rename()\") exists for\nunlink/rmdir as well.\n\nInstead of playing with dget_parent() of underlying dentry of victim\nand hoping it\u0027s the same as underlying dentry of our directory,\ndo the following:\n        * find the underlying dentry of victim\n        * find the underlying directory of victim\u0027s parent (stable\nsince the victim is ecryptfs dentry and inode of its parent is\nheld exclusive by the caller).\n        * lock the inode of dentry underlying the victim\u0027s parent\n        * check that underlying dentry of victim is still hashed and\nhas the right parent - it can be moved, but it can\u0027t be moved to/from\nthe directory we are holding exclusive.  So while -\u003ed_parent itself\nmight not be stable, the result of comparison is.\n\nIf the check passes, everything is fine - underlying directory is locked,\nunderlying victim is still a child of that directory and we can go ahead\nand feed them to vfs_unlink().  As in the current mainline we need to\npin the underlying dentry of victim, so that it wouldn\u0027t go negative under\nus, but that\u0027s the only temporary reference that needs to be grabbed there.\nUnderlying dentry of parent won\u0027t go away (it\u0027s pinned by the parent,\nwhich is held by caller), so there\u0027s no need to grab it.\n\nThe same problem (with the same solution) exists for rmdir.  Moreover,\nrename gets simpler and more robust with the same \"don\u0027t bother with\ndget_parent()\" approach.\n\nFixes: 74dd7c97ea2 \"ecryptfs_rename(): verify that lower dentries are still OK after lock_rename()\"\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3484eba91d6b529cc606486a2db79513f3db6c67",
      "tree": "9a52eb861ef450751006a280a7f357ace967d2e8",
      "parents": [
        "a8626381bd70d71191b011db0f15f52143a68e95"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 04 08:57:10 2019 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Nov 05 13:50:57 2019 -0800"
      },
      "message": "FROMLIST: Add flags option to get xattr method paired to __vfs_getxattr\n\nAdd a flag option to get xattr method that could have a bit flag of\nXATTR_NOSECURITY passed to it.  XATTR_NOSECURITY is generally then\nset in the __vfs_getxattr path when called by security\ninfrastructure.\n\nThis handles the case of a union filesystem driver that is being\nrequested by the security layer to report back the xattr data.\n\nFor the use case where access is to be blocked by the security layer.\n\nThe path then could be security(dentry) -\u003e\n__vfs_getxattr(dentry...XATTR_NOSECURITY) -\u003e\nhandler-\u003eget(dentry...XATTR_NOSECURITY) -\u003e\n__vfs_getxattr(lower_dentry...XATTR_NOSECURITY) -\u003e\nlower_handler-\u003eget(lower_dentry...XATTR_NOSECURITY)\nwhich would report back through the chain data and success as\nexpected, the logging security layer at the top would have the\ndata to determine the access permissions and report back the target\ncontext that was blocked.\n\nWithout the get handler flag, the path on a union filesystem would be\nthe errant security(dentry) -\u003e __vfs_getxattr(dentry) -\u003e\nhandler-\u003eget(dentry) -\u003e vfs_getxattr(lower_dentry) -\u003e nested -\u003e\nsecurity(lower_dentry, log off) -\u003e lower_handler-\u003eget(lower_dentry)\nwhich would report back through the chain no data, and -EACCES.\n\nFor selinux for both cases, this would translate to a correctly\ndetermined blocked access. In the first case with this change a correct avc\nlog would be reported, in the second legacy case an incorrect avc log\nwould be reported against an uninitialized u:object_r:unlabeled:s0\ncontext making the logs cosmetically useless for audit2allow.\n\nThis patch series is inert and is the wide-spread addition of the\nflags option for xattr functions, and a replacement of __vfs_getxattr\nwith __vfs_getxattr(...XATTR_NOSECURITY).\n\nSigned-off-by: Mark Salyzyn \u003csalyzyn@android.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Jeff Layton \u003cjlayton@kernel.org\u003e\nAcked-by: David Sterba \u003cdsterba@suse.com\u003e\nAcked-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nAcked-by: Mike Marshall \u003chubcap@omnibond.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: linux-kernel@vger.kernel.org\nCc: kernel-team@android.com\nCc: linux-security-module@vger.kernel.org\n\n(cherry picked from (rejected from archive because of too many recipients))\nSigned-off-by: Mark Salyzyn \u003csalyzyn@google.com\u003e\nBug: 133515582\nBug: 136124883\nBug: 129319403\nChange-Id: Iabbb8771939d5f66667a26bb23ddf4c562c349a1\n"
    },
    {
      "commit": "fa6e951a2a440babd7a7310d0f4713e618061767",
      "tree": "07adc018be439e33a0353169b93a7399dfad94cd",
      "parents": [
        "a318423b61e8c67aa5c0a428540c58439a20baac",
        "7451c54abc9139585492605d9e91dec2d26c6457"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 14 19:29:04 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 14 19:29:04 2019 -0700"
      },
      "message": "Merge tag \u0027ecryptfs-5.3-rc1-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs\n\nPull eCryptfs updates from Tyler Hicks:\n\n - Fix error handling when ecryptfs_read_lower() encounters an error\n\n - Fix read-only file creation when the eCryptfs mount is configured to\n   store metadata in xattrs\n\n - Minor code cleanups\n\n* tag \u0027ecryptfs-5.3-rc1-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:\n  ecryptfs: Change return type of ecryptfs_process_flags\n  ecryptfs: Make ecryptfs_xattr_handler static\n  ecryptfs: remove unnessesary null check in ecryptfs_keyring_auth_tok_for_sig\n  ecryptfs: use print_hex_dump_bytes for hexdump\n  eCryptfs: fix permission denied with ecryptfs_xattr mount option when create readonly file\n  ecryptfs: re-order a condition for static checkers\n  eCryptfs: fix a couple type promotion bugs\n"
    },
    {
      "commit": "028db3e290f15ac509084c0fc3b9d021f668f877",
      "tree": "7497244a90100f2464403063f88f83a555da03b3",
      "parents": [
        "e9a83bd2322035ed9d7dcf35753d3f984d76c6a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 10 18:43:43 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 10 18:43:43 2019 -0700"
      },
      "message": "Revert \"Merge tag \u0027keys-acl-20190703\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs\"\n\nThis reverts merge 0f75ef6a9cff49ff612f7ce0578bced9d0b38325 (and thus\neffectively commits\n\n   7a1ade847596 (\"keys: Provide KEYCTL_GRANT_PERMISSION\")\n   2e12256b9a76 (\"keys: Replace uid/gid/perm permissions checking with an ACL\")\n\nthat the merge brought in).\n\nIt turns out that it breaks booting with an encrypted volume, and Eric\nbiggers reports that it also breaks the fscrypt tests [1] and loading of\nin-kernel X.509 certificates [2].\n\nThe root cause of all the breakage is likely the same, but David Howells\nis off email so rather than try to work it out it\u0027s getting reverted in\norder to not impact the rest of the merge window.\n\n [1] https://lore.kernel.org/lkml/20190710011559.GA7973@sol.localdomain/\n [2] https://lore.kernel.org/lkml/20190710013225.GB7973@sol.localdomain/\n\nLink: https://lore.kernel.org/lkml/CAHk-\u003dwjxoeMJfeBahnWH\u003d9zShKp2bsVy527vo3_y8HfOdhwAAw@mail.gmail.com/\nReported-by: Eric Biggers \u003cebiggers@kernel.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f75ef6a9cff49ff612f7ce0578bced9d0b38325",
      "tree": "bdd2a6b7f35695b1d7ab1209efbb40187501fe7d",
      "parents": [
        "c84ca912b07901be528e5184fd254fca1dddf2ac",
        "7a1ade847596dadc94b37e49f8c03f167fd71748"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 08 19:56:57 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 08 19:56:57 2019 -0700"
      },
      "message": "Merge tag \u0027keys-acl-20190703\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs\n\nPull keyring ACL support from David Howells:\n \"This changes the permissions model used by keys and keyrings to be\n  based on an internal ACL by the following means:\n\n   - Replace the permissions mask internally with an ACL that contains a\n     list of ACEs, each with a specific subject with a permissions mask.\n     Potted default ACLs are available for new keys and keyrings.\n\n     ACE subjects can be macroised to indicate the UID and GID specified\n     on the key (which remain). Future commits will be able to add\n     additional subject types, such as specific UIDs or domain\n     tags/namespaces.\n\n     Also split a number of permissions to give finer control. Examples\n     include splitting the revocation permit from the change-attributes\n     permit, thereby allowing someone to be granted permission to revoke\n     a key without allowing them to change the owner; also the ability\n     to join a keyring is split from the ability to link to it, thereby\n     stopping a process accessing a keyring by joining it and thus\n     acquiring use of possessor permits.\n\n   - Provide a keyctl to allow the granting or denial of one or more\n     permits to a specific subject. Direct access to the ACL is not\n     granted, and the ACL cannot be viewed\"\n\n* tag \u0027keys-acl-20190703\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:\n  keys: Provide KEYCTL_GRANT_PERMISSION\n  keys: Replace uid/gid/perm permissions checking with an ACL\n"
    },
    {
      "commit": "7451c54abc9139585492605d9e91dec2d26c6457",
      "tree": "c45481e8621664118fb24f4ce83e14951b686e29",
      "parents": [
        "c036061be907b8bcf8c030cf4d2fb97a04d6f5d1"
      ],
      "author": {
        "name": "Hariprasad Kelam",
        "email": "hariprasad.kelam@gmail.com",
        "time": "Tue Jul 02 23:17:24 2019 +0530"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Tue Jul 02 19:28:02 2019 +0000"
      },
      "message": "ecryptfs: Change return type of ecryptfs_process_flags\n\nChange return type of ecryptfs_process_flags from int to void as it\nnever fails.\n\nfixes below issue reported by coccicheck\n\ns/ecryptfs/crypto.c:870:5-7: Unneeded variable: \"rc\". Return \"0\" on line\n883\n\nSigned-off-by: Hariprasad Kelam \u003chariprasad.kelam@gmail.com\u003e\n[tyhicks: Remove the return value line from the function documentation]\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "2e12256b9a76584fa3a6da19210509d4775aee36",
      "tree": "d25d8a5868dadab6086230223afeb9d26fac001b",
      "parents": [
        "a58946c158a040068e7c94dc1d58bbd273258068"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 27 23:03:07 2019 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 27 23:03:07 2019 +0100"
      },
      "message": "keys: Replace uid/gid/perm permissions checking with an ACL\n\nReplace the uid/gid/perm permissions checking on a key with an ACL to allow\nthe SETATTR and SEARCH permissions to be split.  This will also allow a\ngreater range of subjects to represented.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWHY DO THIS?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe problem is that SETATTR and SEARCH cover a slew of actions, not all of\nwhich should be grouped together.\n\nFor SETATTR, this includes actions that are about controlling access to a\nkey:\n\n (1) Changing a key\u0027s ownership.\n\n (2) Changing a key\u0027s security information.\n\n (3) Setting a keyring\u0027s restriction.\n\nAnd actions that are about managing a key\u0027s lifetime:\n\n (4) Setting an expiry time.\n\n (5) Revoking a key.\n\nand (proposed) managing a key as part of a cache:\n\n (6) Invalidating a key.\n\nManaging a key\u0027s lifetime doesn\u0027t really have anything to do with\ncontrolling access to that key.\n\nExpiry time is awkward since it\u0027s more about the lifetime of the content\nand so, in some ways goes better with WRITE permission.  It can, however,\nbe set unconditionally by a process with an appropriate authorisation token\nfor instantiating a key, and can also be set by the key type driver when a\nkey is instantiated, so lumping it with the access-controlling actions is\nprobably okay.\n\nAs for SEARCH permission, that currently covers:\n\n (1) Finding keys in a keyring tree during a search.\n\n (2) Permitting keyrings to be joined.\n\n (3) Invalidation.\n\nBut these don\u0027t really belong together either, since these actions really\nneed to be controlled separately.\n\nFinally, there are number of special cases to do with granting the\nadministrator special rights to invalidate or clear keys that I would like\nto handle with the ACL rather than key flags and special checks.\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWHAT IS CHANGED\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe SETATTR permission is split to create two new permissions:\n\n (1) SET_SECURITY - which allows the key\u0027s owner, group and ACL to be\n     changed and a restriction to be placed on a keyring.\n\n (2) REVOKE - which allows a key to be revoked.\n\nThe SEARCH permission is split to create:\n\n (1) SEARCH - which allows a keyring to be search and a key to be found.\n\n (2) JOIN - which allows a keyring to be joined as a session keyring.\n\n (3) INVAL - which allows a key to be invalidated.\n\nThe WRITE permission is also split to create:\n\n (1) WRITE - which allows a key\u0027s content to be altered and links to be\n     added, removed and replaced in a keyring.\n\n (2) CLEAR - which allows a keyring to be cleared completely.  This is\n     split out to make it possible to give just this to an administrator.\n\n (3) REVOKE - see above.\n\n\nKeys acquire ACLs which consist of a series of ACEs, and all that apply are\nunioned together.  An ACE specifies a subject, such as:\n\n (*) Possessor - permitted to anyone who \u0027possesses\u0027 a key\n (*) Owner - permitted to the key owner\n (*) Group - permitted to the key group\n (*) Everyone - permitted to everyone\n\nNote that \u0027Other\u0027 has been replaced with \u0027Everyone\u0027 on the assumption that\nyou wouldn\u0027t grant a permit to \u0027Other\u0027 that you wouldn\u0027t also grant to\neveryone else.\n\nFurther subjects may be made available by later patches.\n\nThe ACE also specifies a permissions mask.  The set of permissions is now:\n\n\tVIEW\t\tCan view the key metadata\n\tREAD\t\tCan read the key content\n\tWRITE\t\tCan update/modify the key content\n\tSEARCH\t\tCan find the key by searching/requesting\n\tLINK\t\tCan make a link to the key\n\tSET_SECURITY\tCan change owner, ACL, expiry\n\tINVAL\t\tCan invalidate\n\tREVOKE\t\tCan revoke\n\tJOIN\t\tCan join this keyring\n\tCLEAR\t\tCan clear this keyring\n\n\nThe KEYCTL_SETPERM function is then deprecated.\n\nThe KEYCTL_SET_TIMEOUT function then is permitted if SET_SECURITY is set,\nor if the caller has a valid instantiation auth token.\n\nThe KEYCTL_INVALIDATE function then requires INVAL.\n\nThe KEYCTL_REVOKE function then requires REVOKE.\n\nThe KEYCTL_JOIN_SESSION_KEYRING function then requires JOIN to join an\nexisting keyring.\n\nThe JOIN permission is enabled by default for session keyrings and manually\ncreated keyrings only.\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nBACKWARD COMPATIBILITY\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nTo maintain backward compatibility, KEYCTL_SETPERM will translate the\npermissions mask it is given into a new ACL for a key - unless\nKEYCTL_SET_ACL has been called on that key, in which case an error will be\nreturned.\n\nIt will convert possessor, owner, group and other permissions into separate\nACEs, if each portion of the mask is non-zero.\n\nSETATTR permission turns on all of INVAL, REVOKE and SET_SECURITY.  WRITE\npermission turns on WRITE, REVOKE and, if a keyring, CLEAR.  JOIN is turned\non if a keyring is being altered.\n\nThe KEYCTL_DESCRIBE function translates the ACL back into a permissions\nmask to return depending on possessor, owner, group and everyone ACEs.\n\nIt will make the following mappings:\n\n (1) INVAL, JOIN -\u003e SEARCH\n\n (2) SET_SECURITY -\u003e SETATTR\n\n (3) REVOKE -\u003e WRITE if SETATTR isn\u0027t already set\n\n (4) CLEAR -\u003e WRITE\n\nNote that the value subsequently returned by KEYCTL_DESCRIBE may not match\nthe value set with KEYCTL_SETATTR.\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nTESTING\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThis passes the keyutils testsuite for all but a couple of tests:\n\n (1) tests/keyctl/dh_compute/badargs: The first wrong-key-type test now\n     returns EOPNOTSUPP rather than ENOKEY as READ permission isn\u0027t removed\n     if the type doesn\u0027t have -\u003eread().  You still can\u0027t actually read the\n     key.\n\n (2) tests/keyctl/permitting/valid: The view-other-permissions test doesn\u0027t\n     work as Other has been replaced with Everyone in the ACL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "c036061be907b8bcf8c030cf4d2fb97a04d6f5d1",
      "tree": "0eeb44efc539e70a77e2272650bda96fc624e21d",
      "parents": [
        "29a51df0609c74e7163d41334021166d6a34d083"
      ],
      "author": {
        "name": "YueHaibing",
        "email": "yuehaibing@huawei.com",
        "time": "Fri Jun 14 23:51:17 2019 +0800"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jun 19 05:53:49 2019 +0000"
      },
      "message": "ecryptfs: Make ecryptfs_xattr_handler static\n\nFix sparse warning:\n\nfs/ecryptfs/inode.c:1138:28: warning:\n symbol \u0027ecryptfs_xattr_handler\u0027 was not declared. Should it be static?\n\nReported-by: Hulk Robot \u003chulkci@huawei.com\u003e\nSigned-off-by: YueHaibing \u003cyuehaibing@huawei.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "29a51df0609c74e7163d41334021166d6a34d083",
      "tree": "fcc9de67d914998f5d52ebb7deba78f528290b5d",
      "parents": [
        "96827c3044cf2562af2f5f09988f48acdbee25c7"
      ],
      "author": {
        "name": "YueHaibing",
        "email": "yuehaibing@huawei.com",
        "time": "Mon May 27 21:28:14 2019 +0800"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jun 19 05:53:44 2019 +0000"
      },
      "message": "ecryptfs: remove unnessesary null check in ecryptfs_keyring_auth_tok_for_sig\n\nrequest_key and ecryptfs_get_encrypted_key never\nreturn a NULL pointer, so no need do a null check.\n\nSigned-off-by: YueHaibing \u003cyuehaibing@huawei.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "96827c3044cf2562af2f5f09988f48acdbee25c7",
      "tree": "1e21d0837783af0e743f53fc09b0d5ab55f234b0",
      "parents": [
        "d43388dea04b18f516bd7c837d9222fe7309b12d"
      ],
      "author": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri May 17 12:45:15 2019 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jun 19 05:53:37 2019 +0000"
      },
      "message": "ecryptfs: use print_hex_dump_bytes for hexdump\n\nThe Kernel has nice hexdump facilities, use them rather a homebrew\nhexdump function.\n\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "4505153954fdb1465d2b178288a9bf646f2a2166",
      "tree": "ba19abe18a528a565e3845f2a9dbea640c1957ac",
      "parents": [
        "1d0ea0692ae3f909b22e99af3121bcf3142a5c5f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 29 16:57:47 2019 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jun 05 17:37:06 2019 +0200"
      },
      "message": "treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333\n\nBased on 1 normalized pattern(s):\n\n  this program is free software you can redistribute it and or modify\n  it under the terms of the gnu general public license version 2 as\n  published by the free software foundation this program is\n  distributed in the hope that it will be useful but without any\n  warranty without even the implied warranty of merchantability or\n  fitness for a particular purpose see the gnu general public license\n  for more details you should have received a copy of the gnu general\n  public license along with this program if not write to the free\n  software foundation inc 59 temple place suite 330 boston ma 02111\n  1307 usa\n\nextracted by the scancode license scanner the SPDX license identifier\n\n  GPL-2.0-only\n\nhas been chosen to replace the boilerplate/reference in 136 file(s).\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Alexios Zavras \u003calexios.zavras@intel.com\u003e\nReviewed-by: Allison Randal \u003callison@lohutok.net\u003e\nCc: linux-spdx@vger.kernel.org\nLink: https://lkml.kernel.org/r/20190530000436.384967451@linutronix.de\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1a59d1b8e05ea6ab45f7e18897de1ef0e6bc3da6",
      "tree": "64603c849c14a892dffe40e56b458377607b21b4",
      "parents": [
        "e78d0eabefb7cabd5f168754a2d890624897f6a1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 27 08:55:05 2019 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu May 30 11:26:35 2019 -0700"
      },
      "message": "treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156\n\nBased on 1 normalized pattern(s):\n\n  this program is free software you can redistribute it and or modify\n  it under the terms of the gnu general public license as published by\n  the free software foundation either version 2 of the license or at\n  your option any later version this program is distributed in the\n  hope that it will be useful but without any warranty without even\n  the implied warranty of merchantability or fitness for a particular\n  purpose see the gnu general public license for more details you\n  should have received a copy of the gnu general public license along\n  with this program if not write to the free software foundation inc\n  59 temple place suite 330 boston ma 02111 1307 usa\n\nextracted by the scancode license scanner the SPDX license identifier\n\n  GPL-2.0-or-later\n\nhas been chosen to replace the boilerplate/reference in 1334 file(s).\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Allison Randal \u003callison@lohutok.net\u003e\nReviewed-by: Richard Fontana \u003crfontana@redhat.com\u003e\nCc: linux-spdx@vger.kernel.org\nLink: https://lkml.kernel.org/r/20190527070033.113240726@linutronix.de\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1",
      "tree": "66fbd55224767888b7db1f007a063c47669f652d",
      "parents": [
        "09c434b8a0047c69e48499de0107de312901e798"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 19 13:07:45 2019 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 21 10:50:46 2019 +0200"
      },
      "message": "treewide: Add SPDX license identifier - Makefile/Kconfig\n\nAdd SPDX license identifiers to all Make/Kconfig files which:\n\n - Have no license information of any form\n\nThese files fall under the project license, GPL v2 only. The resulting SPDX\nlicense identifier is:\n\n  GPL-2.0-only\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "168e153d5ebbdd6a3fa85db1cc4879ed4b7030e0",
      "tree": "73d8583ff7a53a05f95e331ac6468e3741f20d10",
      "parents": [
        "8ff468c29e9a9c3afe9152c10c7b141343270bf3",
        "f276ae0dd6d0b5bfbcb51178a63f06dc035f4cc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 10:57:05 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 10:57:05 2019 -0700"
      },
      "message": "Merge branch \u0027work.icache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs inode freeing updates from Al Viro:\n \"Introduction of separate method for RCU-delayed part of\n  -\u003edestroy_inode() (if any).\n\n  Pretty much as posted, except that destroy_inode() stashes\n  -\u003efree_inode into the victim (anon-unioned with -\u003ei_fops) before\n  scheduling i_callback() and the last two patches (sockfs conversion\n  and folding struct socket_wq into struct socket) are excluded - that\n  pair should go through netdev once davem reopens his tree\"\n\n* \u0027work.icache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (58 commits)\n  orangefs: make use of -\u003efree_inode()\n  shmem: make use of -\u003efree_inode()\n  hugetlb: make use of -\u003efree_inode()\n  overlayfs: make use of -\u003efree_inode()\n  jfs: switch to -\u003efree_inode()\n  fuse: switch to -\u003efree_inode()\n  ext4: make use of -\u003efree_inode()\n  ecryptfs: make use of -\u003efree_inode()\n  ceph: use -\u003efree_inode()\n  btrfs: use -\u003efree_inode()\n  afs: switch to use of -\u003efree_inode()\n  dax: make use of -\u003efree_inode()\n  ntfs: switch to -\u003efree_inode()\n  securityfs: switch to -\u003efree_inode()\n  apparmor: switch to -\u003efree_inode()\n  rpcpipe: switch to -\u003efree_inode()\n  bpf: switch to -\u003efree_inode()\n  mqueue: switch to -\u003efree_inode()\n  ufs: switch to -\u003efree_inode()\n  coda: switch to -\u003efree_inode()\n  ...\n"
    },
    {
      "commit": "586a94fdc9c900c231c08a00372ba793165e2bdc",
      "tree": "add7bcc381518c2ae8cae43643bfb0db658656be",
      "parents": [
        "cfa6d41263ca2d25435626c45415ebddda53302d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 14 23:27:33 2019 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 01 22:43:26 2019 -0400"
      },
      "message": "ecryptfs: make use of -\u003efree_inode()\n\nno idea if crypto destruction could be moved there as well\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "877b5691f27a1aec0d9b53095a323e45c30069e2",
      "tree": "59eba93e8d253fb0e12a0a2040de99e96e873933",
      "parents": [
        "75f2222832e0fecba7a45ca6ac07ea895ea1e046"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Sun Apr 14 17:37:09 2019 -0700"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Apr 25 15:38:12 2019 +0800"
      },
      "message": "crypto: shash - remove shash_desc::flags\n\nThe flags field in \u0027struct shash_desc\u0027 never actually does anything.\nThe only ostensibly supported flag is CRYPTO_TFM_REQ_MAY_SLEEP.\nHowever, no shash algorithm ever sleeps, making this flag a no-op.\n\nWith this being the case, inevitably some users who can\u0027t sleep wrongly\npass MAY_SLEEP.  These would all need to be fixed if any shash algorithm\nactually started sleeping.  For example, the shash_ahash_*() functions,\nwhich wrap a shash algorithm with the ahash API, pass through MAY_SLEEP\nfrom the ahash API to the shash API.  However, the shash functions are\ncalled under kmap_atomic(), so actually they\u0027re assumed to never sleep.\n\nEven if it turns out that some users do need preemption points while\nhashing large buffers, we could easily provide a helper function\ncrypto_shash_update_large() which divides the data into smaller chunks\nand calls crypto_shash_update() and cond_resched() for each chunk.  It\u0027s\nnot necessary to have a flag in \u0027struct shash_desc\u0027, nor is it necessary\nto make individual shash algorithms aware of this at all.\n\nTherefore, remove shash_desc::flags, and document that the\ncrypto_shash_*() functions can be called from any context.\n\nSigned-off-by: Eric Biggers \u003cebiggers@google.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d43388dea04b18f516bd7c837d9222fe7309b12d",
      "tree": "49ecee9a2b01849ef2cd7d8bb340a6311969f54a",
      "parents": [
        "4b47a8b51e7bc0bcd1fa8e546a6333a04ab760d8"
      ],
      "author": {
        "name": "Robbie Ko",
        "email": "robbieko@synology.com",
        "time": "Tue Aug 21 16:17:40 2018 +0800"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Feb 16 23:18:57 2019 +0000"
      },
      "message": "eCryptfs: fix permission denied with ecryptfs_xattr mount option when create readonly file\n\nWhen the ecryptfs_xattr mount option is turned on, the ecryptfs\nmetadata will be written to xattr via vfs_setxattr, which will\ncheck the WRITE permissions.\n\nHowever, this will cause denial of permission when creating a\nfile withoug write permission.\n\nSo fix this by calling __vfs_setxattr directly to skip permission\ncheck.\n\nSigned-off-by: Robbie Ko \u003crobbieko@synology.com\u003e\n[tyhicks: Copy up lower inode attributes when successful]\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "4b47a8b51e7bc0bcd1fa8e546a6333a04ab760d8",
      "tree": "0b05634cab3a03aa5bf5f057fa760c0d568eabce",
      "parents": [
        "0bdf8a8245fdea6f075a5fede833a5fcf1b3466c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Aug 22 13:43:59 2018 +0300"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Feb 16 22:42:48 2019 +0000"
      },
      "message": "ecryptfs: re-order a condition for static checkers\n\nStatic checkers complain that we are using \"s-\u003ei\" as an offset before\nwe check whether it is within bounds.  It doesn\u0027t matter much but we\ncan easily swap the order of the checks to make everyone happy.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "0bdf8a8245fdea6f075a5fede833a5fcf1b3466c",
      "tree": "c599abcee8b22ab95caa56f7e628026f1ed4cd8d",
      "parents": [
        "5ded5871030eb75017639148da0a58931dfbfc25"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Jul 04 12:35:56 2018 +0300"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Feb 16 22:42:47 2019 +0000"
      },
      "message": "eCryptfs: fix a couple type promotion bugs\n\nECRYPTFS_SIZE_AND_MARKER_BYTES is type size_t, so if \"rc\" is negative\nthat gets type promoted to a high positive value and treated as success.\n\nFixes: 778aeb42a708 (\"eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()\")\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\n[tyhicks: Use \"if/else if\" rather than \"if/if\"]\nCc: stable@vger.kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "231baecdef7a906579925ccf1bd45aa734f32320",
      "tree": "d445c32fbb19c327331c8cc3d254d72a96ffa919",
      "parents": [
        "37ebffff65b2321a9b51ae928851330154358f1d"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Jan 18 22:48:00 2019 -0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 25 18:41:52 2019 +0800"
      },
      "message": "crypto: clarify name of WEAK_KEY request flag\n\nCRYPTO_TFM_REQ_WEAK_KEY confuses newcomers to the crypto API because it\nsounds like it is requesting a weak key.  Actually, it is requesting\nthat weak keys be forbidden (for algorithms that have the notion of\n\"weak keys\"; currently only DES and XTS do).\n\nAlso it is only one letter away from CRYPTO_TFM_RES_WEAK_KEY, with which\nit can be easily confused.  (This in fact happened in the UX500 driver,\nthough just in some debugging messages.)\n\nTherefore, make the intent clear by renaming it to\nCRYPTO_TFM_REQ_FORBID_WEAK_KEYS.\n\nSigned-off-by: Eric Biggers \u003cebiggers@google.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "74dd7c97ea2ab08b41925ab2f472db573accda89",
      "tree": "9a336f634fdc2b6250ab1ef50e529830eac8079f",
      "parents": [
        "b07581d2d5add23ae163e3fbfb2fa5d36076922f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 09 23:32:41 2018 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 09 23:33:17 2018 -0400"
      },
      "message": "ecryptfs_rename(): verify that lower dentries are still OK after lock_rename()\n\nWe get lower layer dentries, find their parents, do lock_rename() and\nproceed to vfs_rename().  However, we do not check that dentries still\nhave the same parents and are not unlinked.  Need to check that...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5997aab0a11ea27ee8e520ecc551ed18fd3e8296",
      "tree": "671f8ec1616f646614f2994537fc32704251465d",
      "parents": [
        "3b78ce4a34b761c7fe13520de822984019ff1a8f",
        "baf10564fbb66ea222cae66fbff11c444590ffd9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 11:54:57 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 11:54:57 2018 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs fixes from Al Viro:\n \"Assorted fixes all over the place\"\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  aio: fix io_destroy(2) vs. lookup_ioctx() race\n  ext2: fix a block leak\n  nfsd: vfs_mkdir() might succeed leaving dentry negative unhashed\n  cachefiles: vfs_mkdir() might succeed leaving dentry negative unhashed\n  unfuck sysfs_mount()\n  kernfs: deal with kernfs_fill_super() failures\n  cramfs: Fix IS_ENABLED typo\n  befs_lookup(): use d_splice_alias()\n  affs_lookup: switch to d_splice_alias()\n  affs_lookup(): close a race with affs_remove_link()\n  fix breakage caused by d_find_alias() semantics change\n  fs: don\u0027t scan the inode cache before SB_BORN is set\n  do d_instantiate/unlock_new_inode combinations safely\n  iov_iter: fix memory leak in pipe_get_pages_alloc()\n  iov_iter: fix return type of __pipe_get_pages()\n"
    },
    {
      "commit": "1e2e547a93a00ebc21582c06ca3c6cfea2a309ee",
      "tree": "e31468774e0543997a15daa0409ef79a02d1438c",
      "parents": [
        "d7760d638b140d53c6390a2fbee9b06460b43e9e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 04 08:23:01 2018 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 15:36:37 2018 -0400"
      },
      "message": "do d_instantiate/unlock_new_inode combinations safely\n\nFor anything NFS-exported we do _not_ want to unlock new inode\nbefore it has grown an alias; original set of fixes got the\nordering right, but missed the nasty complication in case of\nlockdep being enabled - unlock_new_inode() does\n\tlockdep_annotate_inode_mutex_key(inode)\nwhich can only be done before anyone gets a chance to touch\n-\u003ei_mutex.  Unfortunately, flipping the order and doing\nunlock_new_inode() before d_instantiate() opens a window when\nmkdir can race with open-by-fhandle on a guessed fhandle, leading\nto multiple aliases for a directory inode and all the breakage\nthat follows from that.\n\n\tCorrect solution: a new primitive (d_instantiate_new())\ncombining these two in the right order - lockdep annotate, then\nd_instantiate(), then the rest of unlock_new_inode().  All\ncombinations of d_instantiate() with unlock_new_inode() should\nbe converted to that.\n\nCc: stable@kernel.org\t# 2.6.29 and later\nTested-by: Mike Marshall \u003chubcap@omnibond.com\u003e\nReviewed-by: Andreas Dilger \u003cadilger@dilger.ca\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e86281e700cca8a773f9a572fa406adf2784ba5c",
      "tree": "541db393f7c69a9de74e647d5292774d8218989f",
      "parents": [
        "f62fd7a77717350e850f3c4a5373fe8e64871025"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Mar 28 23:41:52 2018 +0000"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Apr 16 18:51:22 2018 +0000"
      },
      "message": "eCryptfs: don\u0027t pass up plaintext names when using filename encryption\n\nBoth ecryptfs_filldir() and ecryptfs_readlink_lower() use\necryptfs_decode_and_decrypt_filename() to translate lower filenames to\nupper filenames. The function correctly passes up lower filenames,\nunchanged, when filename encryption isn\u0027t in use. However, it was also\npassing up lower filenames when the filename wasn\u0027t encrypted or\nwhen decryption failed. Since 88ae4ab9802e, eCryptfs refuses to lookup\nlower plaintext names when filename encryption is enabled so this\nresulted in a situation where userspace would see lower plaintext\nfilenames in calls to getdents(2) but then not be able to lookup those\nfilenames.\n\nAn example of this can be seen when enabling filename encryption on an\neCryptfs mount at the root directory of an Ext4 filesystem:\n\n$ ls -1i /lower\n12 ECRYPTFS_FNEK_ENCRYPTED.FWYZD8TcW.5FV-TKTEYOHsheiHX9a-w.NURCCYIMjI8pn5BDB9-h3fXwrE--\n11 lost+found\n$ ls -1i /upper\nls: cannot access \u0027/upper/lost+found\u0027: No such file or directory\n ? lost+found\n12 test\n\nWith this change, the lower lost+found dentry is ignored:\n\n$ ls -1i /lower\n12 ECRYPTFS_FNEK_ENCRYPTED.FWYZD8TcW.5FV-TKTEYOHsheiHX9a-w.NURCCYIMjI8pn5BDB9-h3fXwrE--\n11 lost+found\n$ ls -1i /upper\n12 test\n\nAdditionally, some potentially noisy error/info messages in the related\ncode paths are turned into debug messages so that the logs can\u0027t be\neasily filled.\n\nFixes: 88ae4ab9802e (\"ecryptfs_lookup(): try either only encrypted or plaintext name\")\nReported-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "f62fd7a77717350e850f3c4a5373fe8e64871025",
      "tree": "ace60e8524829384f859b224b21384bec6789320",
      "parents": [
        "ab13a9218c9883d1f51940b9e720c63ef54a2c07"
      ],
      "author": {
        "name": "Colin Ian King",
        "email": "colin.king@canonical.com",
        "time": "Fri Mar 02 09:07:08 2018 +0000"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Mar 29 01:33:30 2018 +0000"
      },
      "message": "ecryptfs: fix spelling mistake: \"cadidate\" -\u003e \"candidate\"\n\nTrivial fix to spelling mistake in debug message text.\n\nSigned-off-by: Colin Ian King \u003ccolin.king@canonical.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "ab13a9218c9883d1f51940b9e720c63ef54a2c07",
      "tree": "15de1ab010f40114b62aedadbce43b581cca4daa",
      "parents": [
        "3215b9d57a2c75c4305a3956ca303d7004485200"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Thu Jan 18 18:40:25 2018 -0800"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Mar 29 01:33:29 2018 +0000"
      },
      "message": "ecryptfs: lookup: Don\u0027t check if mount_crypt_stat is NULL\n\nmount_crypt_stat is assigned to\n\u0026ecryptfs_superblock_to_private(ecryptfs_dentry-\u003ed_sb)-\u003emount_crypt_stat,\nand mount_crypt_stat is not the first object in struct ecryptfs_sb_info.\nmount_crypt_stat is therefore never NULL. At the same time, no crash\nin ecryptfs_lookup() has been reported, and the lookup functions in\nother file systems don\u0027t check if d_sb is NULL either.\nGiven that, remove the NULL check.\n\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "a9a08845e9acbd224e4ee466f5c1275ed50054e8",
      "tree": "415d6e6a82e001c65e6b161539411f54ba5fe8ce",
      "parents": [
        "ee5daa1361fceb6f482c005bcc9ba8d01b92ea5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 11 14:34:03 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 11 14:34:03 2018 -0800"
      },
      "message": "vfs: do bulk POLL* -\u003e EPOLL* replacement\n\nThis is the mindless scripted replacement of kernel use of POLL*\nvariables as described by Al, done by this script:\n\n    for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do\n        L\u003d`git grep -l -w POLL$V | grep -v \u0027^t\u0027 | grep -v /um/ | grep -v \u0027^sa\u0027 | grep -v \u0027/poll.h$\u0027|grep -v \u0027^D\u0027`\n        for f in $L; do sed -i \"-es/^\\([^\\\"]*\\)\\(\\\u003cPOLL$V\\\u003e\\)/\\\\1E\\\\2/\" $f; done\n    done\n\nwith de-mangling cleanups yet to come.\n\nNOTE! On almost all architectures, the EPOLL* constants have the same\nvalues as the POLL* constants do.  But they keyword here is \"almost\".\nFor various bad reasons they aren\u0027t the same, and epoll() doesn\u0027t\nactually work quite correctly in some cases due to this on Sparc et al.\n\nThe next patch from Al will sort out the final differences, and we\nshould be all done.\n\nScripted-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "168fe32a072a4b8dc81a3aebf0e5e588d38e2955",
      "tree": "297f0f6192256785979f5ebfb92797f81754548d",
      "parents": [
        "13ddd1667e7f01071cdf120132238ffca004a88e",
        "c71d227fc4133f949dae620ed5e3a250b43f2415"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 30 17:58:07 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 30 17:58:07 2018 -0800"
      },
      "message": "Merge branch \u0027misc.poll\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull poll annotations from Al Viro:\n \"This introduces a __bitwise type for POLL### bitmap, and propagates\n  the annotations through the tree. Most of that stuff is as simple as\n  \u0027make -\u003epoll() instances return __poll_t and do the same to local\n  variables used to hold the future return value\u0027.\n\n  Some of the obvious brainos found in process are fixed (e.g. POLLIN\n  misspelled as POLL_IN). At that point the amount of sparse warnings is\n  low and most of them are for genuine bugs - e.g. -\u003epoll() instance\n  deciding to return -EINVAL instead of a bitmap. I hadn\u0027t touched those\n  in this series - it\u0027s large enough as it is.\n\n  Another problem it has caught was eventpoll() ABI mess; select.c and\n  eventpoll.c assumed that corresponding POLL### and EPOLL### were\n  equal. That\u0027s true for some, but not all of them - EPOLL### are\n  arch-independent, but POLL### are not.\n\n  The last commit in this series separates userland POLL### values from\n  the (now arch-independent) kernel-side ones, converting between them\n  in the few places where they are copied to/from userland. AFAICS, this\n  is the least disruptive fix preserving poll(2) ABI and making epoll()\n  work on all architectures.\n\n  As it is, it\u0027s simply broken on sparc - try to give it EPOLLWRNORM and\n  it will trigger only on what would\u0027ve triggered EPOLLWRBAND on other\n  architectures. EPOLLWRBAND and EPOLLRDHUP, OTOH, are never triggered\n  at all on sparc. With this patch they should work consistently on all\n  architectures\"\n\n* \u0027misc.poll\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits)\n  make kernel-side POLL... arch-independent\n  eventpoll: no need to mask the result of epi_item_poll() again\n  eventpoll: constify struct epoll_event pointers\n  debugging printk in sg_poll() uses %x to print POLL... bitmap\n  annotate poll(2) guts\n  9p: untangle -\u003epoll() mess\n  -\u003esi_band gets POLL... bitmap stored into a user-visible long field\n  ring_buffer_poll_wait() return value used as return value of -\u003epoll()\n  the rest of drivers/*: annotate -\u003epoll() instances\n  media: annotate -\u003epoll() instances\n  fs: annotate -\u003epoll() instances\n  ipc, kernel, mm: annotate -\u003epoll() instances\n  net: annotate -\u003epoll() instances\n  apparmor: annotate -\u003epoll() instances\n  tomoyo: annotate -\u003epoll() instances\n  sound: annotate -\u003epoll() instances\n  acpi: annotate -\u003epoll() instances\n  crypto: annotate -\u003epoll() instances\n  block: annotate -\u003epoll() instances\n  x86: annotate -\u003epoll() instances\n  ...\n"
    },
    {
      "commit": "076ccb76e1a6cf0aa5371132efdd502a11e806f1",
      "tree": "6917e5c6896f75226fe97e09a236c502fe0637f5",
      "parents": [
        "9dd957485d7d896ec18d8e2f9dd410efe71eca34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 03 01:02:18 2017 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Nov 27 16:20:05 2017 -0500"
      },
      "message": "fs: annotate -\u003epoll() instances\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1751e8a6cb935e555fcdbcb9ab4f0446e322ca3e",
      "tree": "83c57e4aeda0665cb131de862364b7a5cfd7dd66",
      "parents": [
        "141cbfba1d0502006463aa80f57c64086226af1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 27 13:05:09 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 27 13:05:09 2017 -0800"
      },
      "message": "Rename superblock flags (MS_xyz -\u003e SB_xyz)\n\nThis is a pure automated search-and-replace of the internal kernel\nsuperblock flags.\n\nThe s_flags are now called SB_*, with the names and the values for the\nmoment mirroring the MS_* flags that they\u0027re equivalent to.\n\nNote how the MS_xyz flags are the ones passed to the mount system call,\nwhile the SB_xyz flags are what we then use in sb-\u003es_flags.\n\nThe script to do this was:\n\n    # places to look in; re security/*: it generally should *not* be\n    # touched (that stuff parses mount(2) arguments directly), but\n    # there are two places where we really deal with superblock flags.\n    FILES\u003d\"drivers/mtd drivers/staging/lustre fs ipc mm \\\n            include/linux/fs.h include/uapi/linux/bfs_fs.h \\\n            security/apparmor/apparmorfs.c security/apparmor/include/lib.h\"\n    # the list of MS_... constants\n    SYMS\u003d\"RDONLY NOSUID NODEV NOEXEC SYNCHRONOUS REMOUNT MANDLOCK \\\n          DIRSYNC NOATIME NODIRATIME BIND MOVE REC VERBOSE SILENT \\\n          POSIXACL UNBINDABLE PRIVATE SLAVE SHARED RELATIME KERNMOUNT \\\n          I_VERSION STRICTATIME LAZYTIME SUBMOUNT NOREMOTELOCK NOSEC BORN \\\n          ACTIVE NOUSER\"\n\n    SED_PROG\u003d\n    for i in $SYMS; do SED_PROG\u003d\"$SED_PROG -e s/MS_$i/SB_$i/g\"; done\n\n    # we want files that contain at least one of MS_...,\n    # with fs/namespace.c and fs/pnode.c excluded.\n    L\u003d$(for i in $SYMS; do git grep -w -l MS_$i $FILES; done| sort|uniq|grep -v \u0027^fs/namespace.c\u0027|grep -v \u0027^fs/pnode.c\u0027)\n\n    for f in $L; do sed -i $f $SED_PROG; done\n\nRequested-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0bcb42e602816415f6fe07313b6fc84932244b7",
      "tree": "36ece6403a56805a42332659f0762ce280bc936c",
      "parents": [
        "b6b220b0c76f0aa9cb5efb882424a7acc109d898",
        "4670269faba728683f7250319a65390946c028e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 17 14:16:21 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 17 14:16:21 2017 -0800"
      },
      "message": "Merge tag \u0027ecryptfs-4.15-rc1-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs\n\nPull eCryptfs updates from Tyler Hicks:\n\n - miscellaneous code cleanups and refactoring\n\n - fix a possible use after free bug when unloading the module\n\n* tag \u0027ecryptfs-4.15-rc1-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:\n  eCryptfs: constify attribute_group structures.\n  ecryptfs: remove unnecessary i_version bump\n  ecryptfs: use ARRAY_SIZE\n  ecryptfs: Adjust four checks for null pointers\n  ecryptfs: Return an error code only as a constant in ecryptfs_add_global_auth_tok()\n  ecryptfs: Delete 21 error messages for a failed memory allocation\n  eCryptfs: use after free in ecryptfs_release_messaging()\n  ecryptfs: remove private bin2hex implementation\n  ecryptfs: add missing \\n to end of various error messages\n"
    },
    {
      "commit": "d50112edde1d0c621520e53747044009f11c656b",
      "tree": "ca4092f2126ac85a63647a48e43ecbf34bb69782",
      "parents": [
        "a3ba074447824625d3a267a5fffd2ea21556ebf4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Nov 15 17:32:18 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 15 18:21:01 2017 -0800"
      },
      "message": "slab, slub, slob: add slab_flags_t\n\nAdd sparse-checked slab_flags_t for struct kmem_cache::flags (SLAB_POISON,\netc).\n\nSLAB is bloated temporarily by switching to \"unsigned long\", but only\ntemporarily.\n\nLink: http://lkml.kernel.org/r/20171021100225.GA22428@avx2\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4670269faba728683f7250319a65390946c028e3",
      "tree": "367ed049e4f626cfd4dd61ec09716ff4cf9e3ea0",
      "parents": [
        "0695a3c744d851cc75d19cea9e63bc2f7dde836f"
      ],
      "author": {
        "name": "Arvind Yadav",
        "email": "arvind.yadav.cs@gmail.com",
        "time": "Fri Jun 30 15:03:23 2017 +0530"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Nov 08 17:38:14 2017 +0000"
      },
      "message": "eCryptfs: constify attribute_group structures.\n\nattribute_groups are not supposed to change at runtime. All functions\nworking with attribute_groups provided by \u003clinux/sysfs.h\u003e work with const\nattribute_group. So mark the non-const structs as const.\n\nFile size before:\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   6122\t    636\t     24\t   6782\t   1a7e\tfs/ecryptfs/main.o\n\nFile size After adding \u0027const\u0027:\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   6186\t    604\t     24\t   6814\t   1a9e\tfs/ecryptfs/main.o\n\nSigned-off-by: Arvind Yadav \u003carvind.yadav.cs@gmail.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "0695a3c744d851cc75d19cea9e63bc2f7dde836f",
      "tree": "5547ef48a7850a54a679f7fd53417ae0dcd72760",
      "parents": [
        "02f9876ebb5e9cd31013c62b8839508b2dc152f0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 30 11:01:31 2017 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 06 18:24:08 2017 +0000"
      },
      "message": "ecryptfs: remove unnecessary i_version bump\n\nThere is no need to bump the i_version counter here, as ecryptfs does\nnot set the SB_I_VERSION flag, and doesn\u0027t use it internally. It also\nonly bumps it when the inode is instantiated, which doesn\u0027t make much\nsense.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "02f9876ebb5e9cd31013c62b8839508b2dc152f0",
      "tree": "daba01fc309974a4da5457b2b5d382861a3a9594",
      "parents": [
        "5032f360dd31e6cf59aadad0478df1244bfd30f8"
      ],
      "author": {
        "name": "Jérémy Lefaure",
        "email": "jeremy.lefaure@lse.epita.fr",
        "time": "Sun Oct 01 15:30:46 2017 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 06 18:23:59 2017 +0000"
      },
      "message": "ecryptfs: use ARRAY_SIZE\n\nUsing the ARRAY_SIZE macro improves the readability of the code.\n\nFound with Coccinelle with the following semantic patch:\n@r depends on (org || report)@\ntype T;\nT[] E;\nposition p;\n@@\n(\n (sizeof(E)@p /sizeof(*E))\n|\n (sizeof(E)@p /sizeof(E[...]))\n|\n (sizeof(E)@p /sizeof(T))\n)\n\nSigned-off-by: Jérémy Lefaure \u003cjeremy.lefaure@lse.epita.fr\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "5032f360dd31e6cf59aadad0478df1244bfd30f8",
      "tree": "8ceb7c19268584d755de0ce69cf39ab0920c0f12",
      "parents": [
        "a463ce5bbd99fef6e1012cebe7b6764794ec07d8"
      ],
      "author": {
        "name": "Markus Elfring",
        "email": "elfring@users.sourceforge.net",
        "time": "Sat Aug 19 18:00:22 2017 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 06 18:23:48 2017 +0000"
      },
      "message": "ecryptfs: Adjust four checks for null pointers\n\nThe script “checkpatch.pl” pointed information out like the following.\n\nComparison to NULL could be written …\n\nThus fix the affected source code places.\n\nSigned-off-by: Markus Elfring \u003celfring@users.sourceforge.net\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "a463ce5bbd99fef6e1012cebe7b6764794ec07d8",
      "tree": "28485a3ce1509f824bbf05f295ffc8a3d697ac1e",
      "parents": [
        "1a0bba4ff086d73a88f9dbadaf4831aefce55f27"
      ],
      "author": {
        "name": "Markus Elfring",
        "email": "elfring@users.sourceforge.net",
        "time": "Sat Aug 19 17:51:53 2017 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 06 18:23:40 2017 +0000"
      },
      "message": "ecryptfs: Return an error code only as a constant in ecryptfs_add_global_auth_tok()\n\n* Return an error code without storing it in an intermediate variable.\n\n* Delete the jump target \"out\" and the local variable \"rc\"\n  which became unnecessary with this refactoring.\n\nSigned-off-by: Markus Elfring \u003celfring@users.sourceforge.net\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "1a0bba4ff086d73a88f9dbadaf4831aefce55f27",
      "tree": "d3167aeab094ebdb2a4c710f1e569acf1cf81b83",
      "parents": [
        "db86be3a12d0b6e5c5b51c2ab2a48f06329cb590"
      ],
      "author": {
        "name": "Markus Elfring",
        "email": "elfring@users.sourceforge.net",
        "time": "Sat Aug 19 17:37:30 2017 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 06 18:23:29 2017 +0000"
      },
      "message": "ecryptfs: Delete 21 error messages for a failed memory allocation\n\nOmit extra messages for a memory allocation failure in these functions.\n\nThis issue was detected by using the Coccinelle software.\n\nSigned-off-by: Markus Elfring \u003celfring@users.sourceforge.net\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "db86be3a12d0b6e5c5b51c2ab2a48f06329cb590",
      "tree": "41c89d821f67a296b66a265a8ffcf04406f0db35",
      "parents": [
        "abbae6d560c1d562c5c0d10785469734784ef961"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Aug 22 23:41:28 2017 +0300"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 06 18:22:34 2017 +0000"
      },
      "message": "eCryptfs: use after free in ecryptfs_release_messaging()\n\nWe\u0027re freeing the list iterator so we should be using the _safe()\nversion of hlist_for_each_entry().\n\nFixes: 88b4a07e6610 (\"[PATCH] eCryptfs: Public key transport mechanism\")\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "abbae6d560c1d562c5c0d10785469734784ef961",
      "tree": "abf569213a03de67189195351d2edbf89f90c0e4",
      "parents": [
        "0996b67df6c1354f2df09c33ac652c37e2e2471f"
      ],
      "author": {
        "name": "Rasmus Villemoes",
        "email": "linux@rasmusvillemoes.dk",
        "time": "Wed Sep 21 01:17:24 2016 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Nov 04 22:16:41 2017 +0000"
      },
      "message": "ecryptfs: remove private bin2hex implementation\n\nCalling sprintf in a loop is not very efficient, and in any case, we\nalready have an implementation of bin-to-hex conversion in lib/ which\nwe might as well use.\n\nNote that ecryptfs_to_hex used to nul-terminate the destination (and\nthe kernel doc was wrong about the required output size), while\nbin2hex doesn\u0027t. [All but one user of ecryptfs_to_hex explicitly\nnul-terminates the result anyway.]\n\nSigned-off-by: Rasmus Villemoes \u003clinux@rasmusvillemoes.dk\u003e\n[tyhicks: Include \u003clinux/kernel.h\u003e in ecryptfs_kernel.h]\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "0996b67df6c1354f2df09c33ac652c37e2e2471f",
      "tree": "4aa4bbaf9ed6cfffd2c58d991db7499d0f6c7938",
      "parents": [
        "0b07194bb55ed836c2cc7c22e866b87a14681984"
      ],
      "author": {
        "name": "Colin Ian King",
        "email": "colin.king@canonical.com",
        "time": "Tue Sep 27 05:18:02 2016 -0700"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Nov 04 22:16:39 2017 +0000"
      },
      "message": "ecryptfs: add missing \\n to end of various error messages\n\nTrival fix, some error messages are missing a \\n, so add it.\n\nSigned-off-by: Colin Ian King \u003ccolin.king@canonical.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "f66665c09ab489a11ca490d6a82df57cfc1bea3e",
      "tree": "8bcdb1a0fa653b839656e246aeefa7484e17a025",
      "parents": [
        "d60b5b7854c3d135b869f74fb93eaf63cbb1991a"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Oct 09 12:51:27 2017 -0700"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 12 17:16:40 2017 +0100"
      },
      "message": "ecryptfs: fix dereference of NULL user_key_payload\n\nIn eCryptfs, we failed to verify that the authentication token keys are\nnot revoked before dereferencing their payloads, which is problematic\nbecause the payload of a revoked key is NULL.  request_key() *does* skip\nrevoked keys, but there is still a window where the key can be revoked\nbefore we acquire the key semaphore.\n\nFix it by updating ecryptfs_get_key_payload_data() to return\n-EKEYREVOKED if the key payload is NULL.  For completeness we check this\nfor \"encrypted\" keys as well as \"user\" keys, although encrypted keys\ncannot be revoked currently.\n\nAlternatively we could use key_validate(), but since we\u0027ll also need to\nfix ecryptfs_get_key_payload_data() to validate the payload length, it\nseems appropriate to just check the payload pointer.\n\nFixes: 237fead61998 (\"[PATCH] ecryptfs: fs/Makefile and fs/Kconfig\")\nReviewed-by: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e    [v2.6.19+]\nCc: Michael Halcrow \u003cmhalcrow@google.com\u003e\nSigned-off-by: Eric Biggers \u003cebiggers@google.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "0f0d12728e56c94d3289c6831243b6faeae8a19d",
      "tree": "bd52fd4ed6fba2a0d8bb95e7fc33f51ac299001d",
      "parents": [
        "581bfce969cbfc7ce43ee92273be9cb7c3fdfa61",
        "e462ec50cb5fad19f6003a3d8087f4a0945dd2b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 14 18:54:01 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 14 18:54:01 2017 -0700"
      },
      "message": "Merge branch \u0027work.mount\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull mount flag updates from Al Viro:\n \"Another chunk of fmount preparations from dhowells; only trivial\n  conflicts for that part. It separates MS_... bits (very grotty\n  mount(2) ABI) from the struct super_block -\u003es_flags (kernel-internal,\n  only a small subset of MS_... stuff).\n\n  This does *not* convert the filesystems to new constants; only the\n  infrastructure is done here. The next step in that series is where the\n  conflicts would be; that\u0027s the conversion of filesystems. It\u0027s purely\n  mechanical and it\u0027s better done after the merge, so if you could run\n  something like\n\n\tlist\u003d$(for i in MS_RDONLY MS_NOSUID MS_NODEV MS_NOEXEC MS_SYNCHRONOUS MS_MANDLOCK MS_DIRSYNC MS_NOATIME MS_NODIRATIME MS_SILENT MS_POSIXACL MS_KERNMOUNT MS_I_VERSION MS_LAZYTIME; do git grep -l $i fs drivers/staging/lustre drivers/mtd ipc mm include/linux; done|sort|uniq|grep -v \u0027^fs/namespace.c$\u0027)\n\n\tsed -i -e \u0027s/\\\u003cMS_RDONLY\\\u003e/SB_RDONLY/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_NOSUID\\\u003e/SB_NOSUID/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_NODEV\\\u003e/SB_NODEV/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_NOEXEC\\\u003e/SB_NOEXEC/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_SYNCHRONOUS\\\u003e/SB_SYNCHRONOUS/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_MANDLOCK\\\u003e/SB_MANDLOCK/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_DIRSYNC\\\u003e/SB_DIRSYNC/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_NOATIME\\\u003e/SB_NOATIME/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_NODIRATIME\\\u003e/SB_NODIRATIME/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_SILENT\\\u003e/SB_SILENT/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_POSIXACL\\\u003e/SB_POSIXACL/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_KERNMOUNT\\\u003e/SB_KERNMOUNT/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_I_VERSION\\\u003e/SB_I_VERSION/g\u0027 \\\n\t        -e \u0027s/\\\u003cMS_LAZYTIME\\\u003e/SB_LAZYTIME/g\u0027 \\\n\t        $list\n\n  and commit it with something along the lines of \u0027convert filesystems\n  away from use of MS_... constants\u0027 as commit message, it would save a\n  quite a bit of headache next cycle\"\n\n* \u0027work.mount\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  VFS: Differentiate mount flags (MS_*) from internal superblock flags\n  VFS: Convert sb-\u003es_flags \u0026 MS_RDONLY to sb_rdonly(sb)\n  vfs: Add sb_rdonly(sb) to query the MS_RDONLY flag on s_flags\n"
    },
    {
      "commit": "581bfce969cbfc7ce43ee92273be9cb7c3fdfa61",
      "tree": "0a693778ce39c49b9b7d93d0d6795c576896f5cf",
      "parents": [
        "cc73fee0bae2d66594d1fa2df92bbd783aa98e04",
        "9725d4cef62229b4ec4c912e0db0761e7d400650"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 14 18:13:32 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 14 18:13:32 2017 -0700"
      },
      "message": "Merge branch \u0027work.set_fs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull more set_fs removal from Al Viro:\n \"Christoph\u0027s \u0027use kernel_read and friends rather than open-coding\n  set_fs()\u0027 series\"\n\n* \u0027work.set_fs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fs: unexport vfs_readv and vfs_writev\n  fs: unexport vfs_read and vfs_write\n  fs: unexport __vfs_read/__vfs_write\n  lustre: switch to kernel_write\n  gadget/f_mass_storage: stop messing with the address limit\n  mconsole: switch to kernel_read\n  btrfs: switch write_buf to kernel_write\n  net/9p: switch p9_fd_read to kernel_write\n  mm/nommu: switch do_mmap_private to kernel_read\n  serial2002: switch serial2002_tty_write to kernel_{read/write}\n  fs: make the buf argument to __kernel_write a void pointer\n  fs: fix kernel_write prototype\n  fs: fix kernel_read prototype\n  fs: move kernel_read to fs/read_write.c\n  fs: move kernel_write to fs/read_write.c\n  autofs4: switch autofs4_write to __kernel_write\n  ashmem: switch to -\u003eread_iter\n"
    },
    {
      "commit": "e13ec939e96b13e664bb6cee361cc976a0ee621a",
      "tree": "9537ad39e7cc842c1f6d756aba43b1f753be9eaa",
      "parents": [
        "bdd1d2d3d251c65b74ac4493e08db18971c09240"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Sep 01 17:39:14 2017 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Sep 04 19:05:15 2017 -0400"
      },
      "message": "fs: fix kernel_write prototype\n\nMake the position an in/out argument like all the other read/write\nhelpers and and make the buf argument a void pointer.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bdd1d2d3d251c65b74ac4493e08db18971c09240",
      "tree": "71df247eeb367203c59a26eed8a384398c2d8131",
      "parents": [
        "c41fbad015dabb0a40ecca50c3ff5658eb6471ff"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Sep 01 17:39:13 2017 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Sep 04 19:05:15 2017 -0400"
      },
      "message": "fs: fix kernel_read prototype\n\nUse proper ssize_t and size_t types for the return value and count\nargument, move the offset last and make it an in/out argument like\nall other read/write helpers, and make the buf argument a void pointer\nto get rid of lots of casts in the callers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d4b51241394664fffbf68ea86c96d2699344583",
      "tree": "07020c928222e32efc57ef11dd3e1fa415a8e494",
      "parents": [
        "ffb959bbdf923b4f89a08a04aba2501b1b16d164"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Aug 02 10:14:21 2017 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Aug 03 14:20:22 2017 -0400"
      },
      "message": "ecryptfs: convert to file_write_and_wait in -\u003efsync\n\nThis change is mainly for documentation/completeness, as ecryptfs never\ncalls mapping_set_error, and so will never return a previous writeback\nerror.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "bc98a42c1f7d0f886c0c1b75a92a004976a46d9f",
      "tree": "42a30f4f8d1aa3723f5356f2a5697b23317e2e19",
      "parents": [
        "94e92e7ac90d06e1e839e112d3ae80b2457dbdd7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jul 17 08:45:34 2017 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jul 17 08:45:34 2017 +0100"
      },
      "message": "VFS: Convert sb-\u003es_flags \u0026 MS_RDONLY to sb_rdonly(sb)\n\nFirstly by applying the following with coccinelle\u0027s spatch:\n\n\t@@ expression SB; @@\n\t-SB-\u003es_flags \u0026 MS_RDONLY\n\t+sb_rdonly(SB)\n\nto effect the conversion to sb_rdonly(sb), then by applying:\n\n\t@@ expression A, SB; @@\n\t(\n\t-(!sb_rdonly(SB)) \u0026\u0026 A\n\t+!sb_rdonly(SB) \u0026\u0026 A\n\t|\n\t-A !\u003d (sb_rdonly(SB))\n\t+A !\u003d sb_rdonly(SB)\n\t|\n\t-A \u003d\u003d (sb_rdonly(SB))\n\t+A \u003d\u003d sb_rdonly(SB)\n\t|\n\t-!(sb_rdonly(SB))\n\t+!sb_rdonly(SB)\n\t|\n\t-A \u0026\u0026 (sb_rdonly(SB))\n\t+A \u0026\u0026 sb_rdonly(SB)\n\t|\n\t-A || (sb_rdonly(SB))\n\t+A || sb_rdonly(SB)\n\t|\n\t-(sb_rdonly(SB)) !\u003d A\n\t+sb_rdonly(SB) !\u003d A\n\t|\n\t-(sb_rdonly(SB)) \u003d\u003d A\n\t+sb_rdonly(SB) \u003d\u003d A\n\t|\n\t-(sb_rdonly(SB)) \u0026\u0026 A\n\t+sb_rdonly(SB) \u0026\u0026 A\n\t|\n\t-(sb_rdonly(SB)) || A\n\t+sb_rdonly(SB) || A\n\t)\n\n\t@@ expression A, B, SB; @@\n\t(\n\t-(sb_rdonly(SB)) ? 1 : 0\n\t+sb_rdonly(SB)\n\t|\n\t-(sb_rdonly(SB)) ? A : B\n\t+sb_rdonly(SB) ? A : B\n\t)\n\nto remove left over excess bracketage and finally by applying:\n\n\t@@ expression A, SB; @@\n\t(\n\t-(A \u0026 MS_RDONLY) !\u003d sb_rdonly(SB)\n\t+(bool)(A \u0026 MS_RDONLY) !\u003d sb_rdonly(SB)\n\t|\n\t-(A \u0026 MS_RDONLY) \u003d\u003d sb_rdonly(SB)\n\t+(bool)(A \u0026 MS_RDONLY) \u003d\u003d sb_rdonly(SB)\n\t)\n\nto make comparisons against the result of sb_rdonly() (which is a bool)\nwork correctly.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "e836818bd9ec580b65d1970e588f9ba892a88f5c",
      "tree": "a95ac17641ed2a39bb07aec64bdb1081acf5b3bd",
      "parents": [
        "851ea0860986961f32774e34753ad80e5fd545a1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Apr 12 12:24:35 2017 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@fb.com",
        "time": "Thu Apr 20 12:09:55 2017 -0600"
      },
      "message": "ecryptfs: Convert to separately allocated bdi\n\nAllocate struct backing_dev_info separately instead of embedding it\ninside the superblock. This unifies handling of bdi among users.\n\nCC: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nCC: ecryptfs@vger.kernel.org\nAcked-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003caxboe@fb.com\u003e\n"
    },
    {
      "commit": "590dce2d4934fb909b112cd80c80486362337744",
      "tree": "9c46dfa627c0adb639ee1542fffbc2262727ef36",
      "parents": [
        "e0d072250a54669dce876d8ade70e417356aae74",
        "a528d35e8bfcc521d7cb70aaf03e1bd296c8493f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 03 11:38:56 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 03 11:38:56 2017 -0800"
      },
      "message": "Merge branch \u0027rebased-statx\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs \u0027statx()\u0027 update from Al Viro.\n\nThis adds the new extended stat() interface that internally subsumes our\nprevious stat interfaces, and allows user mode to specify in more detail\nwhat kind of information it wants.\n\nIt also allows for some explicit synchronization information to be\npassed to the filesystem, which can be relevant for network filesystems:\nis the cached value ok, or do you need open/close consistency, or what?\n\nFrom David Howells.\n\nAndreas Dilger points out that the first version of the extended statx\ninterface was posted June 29, 2010:\n\n    https://www.spinics.net/lists/linux-fsdevel/msg33831.html\n\n* \u0027rebased-statx\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  statx: Add a system call to make enhanced file info available\n"
    },
    {
      "commit": "1827adb11ad26b2290dc9fe2aaf54976b2439865",
      "tree": "e55db5fd2fa1241a586b5688ba3a88e4eae15d6f",
      "parents": [
        "78769912f680fc0a79a67e798a0ae76f07e63a7b",
        "5eca1c10cbaa9c366c18ca79f81f21c731e3dcc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 03 10:16:38 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 03 10:16:38 2017 -0800"
      },
      "message": "Merge branch \u0027WIP.sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull sched.h split-up from Ingo Molnar:\n \"The point of these changes is to significantly reduce the\n  \u003clinux/sched.h\u003e header footprint, to speed up the kernel build and to\n  have a cleaner header structure.\n\n  After these changes the new \u003clinux/sched.h\u003e\u0027s typical preprocessed\n  size goes down from a previous ~0.68 MB (~22K lines) to ~0.45 MB (~15K\n  lines), which is around 40% faster to build on typical configs.\n\n  Not much changed from the last version (-v2) posted three weeks ago: I\n  eliminated quirks, backmerged fixes plus I rebased it to an upstream\n  SHA1 from yesterday that includes most changes queued up in -next plus\n  all sched.h changes that were pending from Andrew.\n\n  I\u0027ve re-tested the series both on x86 and on cross-arch defconfigs,\n  and did a bisectability test at a number of random points.\n\n  I tried to test as many build configurations as possible, but some\n  build breakage is probably still left - but it should be mostly\n  limited to architectures that have no cross-compiler binaries\n  available on kernel.org, and non-default configurations\"\n\n* \u0027WIP.sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (146 commits)\n  sched/headers: Clean up \u003clinux/sched.h\u003e\n  sched/headers: Remove #ifdefs from \u003clinux/sched.h\u003e\n  sched/headers: Remove the \u003clinux/topology.h\u003e include from \u003clinux/sched.h\u003e\n  sched/headers, hrtimer: Remove the \u003clinux/wait.h\u003e include from \u003clinux/hrtimer.h\u003e\n  sched/headers, x86/apic: Remove the \u003clinux/pm.h\u003e header inclusion from \u003casm/apic.h\u003e\n  sched/headers, timers: Remove the \u003clinux/sysctl.h\u003e include from \u003clinux/timer.h\u003e\n  sched/headers: Remove \u003clinux/magic.h\u003e from \u003clinux/sched/task_stack.h\u003e\n  sched/headers: Remove \u003clinux/sched.h\u003e from \u003clinux/sched/init.h\u003e\n  sched/core: Remove unused prefetch_stack()\n  sched/headers: Remove \u003clinux/rculist.h\u003e from \u003clinux/sched.h\u003e\n  sched/headers: Remove the \u0027init_pid_ns\u0027 prototype from \u003clinux/sched.h\u003e\n  sched/headers: Remove \u003clinux/signal.h\u003e from \u003clinux/sched.h\u003e\n  sched/headers: Remove \u003clinux/rwsem.h\u003e from \u003clinux/sched.h\u003e\n  sched/headers: Remove the runqueue_is_locked() prototype\n  sched/headers: Remove \u003clinux/sched.h\u003e from \u003clinux/sched/hotplug.h\u003e\n  sched/headers: Remove \u003clinux/sched.h\u003e from \u003clinux/sched/debug.h\u003e\n  sched/headers: Remove \u003clinux/sched.h\u003e from \u003clinux/sched/nohz.h\u003e\n  sched/headers: Remove \u003clinux/sched.h\u003e from \u003clinux/sched/stat.h\u003e\n  sched/headers: Remove the \u003clinux/gfp.h\u003e include from \u003clinux/sched.h\u003e\n  sched/headers: Remove \u003clinux/rtmutex.h\u003e from \u003clinux/sched.h\u003e\n  ...\n"
    },
    {
      "commit": "a528d35e8bfcc521d7cb70aaf03e1bd296c8493f",
      "tree": "0e87b93d5902009d46d5faf25c3039ef8f668490",
      "parents": [
        "bbe08c0a43e2c5ee3a00de68c0e867a08a9aa990"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jan 31 16:46:22 2017 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 02 20:51:15 2017 -0500"
      },
      "message": "statx: Add a system call to make enhanced file info available\n\nAdd a system call to make extended file information available, including\nfile creation and some attribute flags where available through the\nunderlying filesystem.\n\nThe getattr inode operation is altered to take two additional arguments: a\nu32 request_mask and an unsigned int flags that indicate the\nsynchronisation mode.  This change is propagated to the vfs_getattr*()\nfunction.\n\nFunctions like vfs_stat() are now inline wrappers around new functions\nvfs_statx() and vfs_statx_fd() to reduce stack usage.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nOVERVIEW\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe idea was initially proposed as a set of xattrs that could be retrieved\nwith getxattr(), but the general preference proved to be for a new syscall\nwith an extended stat structure.\n\nA number of requests were gathered for features to be included.  The\nfollowing have been included:\n\n (1) Make the fields a consistent size on all arches and make them large.\n\n (2) Spare space, request flags and information flags are provided for\n     future expansion.\n\n (3) Better support for the y2038 problem [Arnd Bergmann] (tv_sec is an\n     __s64).\n\n (4) Creation time: The SMB protocol carries the creation time, which could\n     be exported by Samba, which will in turn help CIFS make use of\n     FS-Cache as that can be used for coherency data (stx_btime).\n\n     This is also specified in NFSv4 as a recommended attribute and could\n     be exported by NFSD [Steve French].\n\n (5) Lightweight stat: Ask for just those details of interest, and allow a\n     netfs (such as NFS) to approximate anything not of interest, possibly\n     without going to the server [Trond Myklebust, Ulrich Drepper, Andreas\n     Dilger] (AT_STATX_DONT_SYNC).\n\n (6) Heavyweight stat: Force a netfs to go to the server, even if it thinks\n     its cached attributes are up to date [Trond Myklebust]\n     (AT_STATX_FORCE_SYNC).\n\nAnd the following have been left out for future extension:\n\n (7) Data version number: Could be used by userspace NFS servers [Aneesh\n     Kumar].\n\n     Can also be used to modify fill_post_wcc() in NFSD which retrieves\n     i_version directly, but has just called vfs_getattr().  It could get\n     it from the kstat struct if it used vfs_xgetattr() instead.\n\n     (There\u0027s disagreement on the exact semantics of a single field, since\n     not all filesystems do this the same way).\n\n (8) BSD stat compatibility: Including more fields from the BSD stat such\n     as creation time (st_btime) and inode generation number (st_gen)\n     [Jeremy Allison, Bernd Schubert].\n\n (9) Inode generation number: Useful for FUSE and userspace NFS servers\n     [Bernd Schubert].\n\n     (This was asked for but later deemed unnecessary with the\n     open-by-handle capability available and caused disagreement as to\n     whether it\u0027s a security hole or not).\n\n(10) Extra coherency data may be useful in making backups [Andreas Dilger].\n\n     (No particular data were offered, but things like last backup\n     timestamp, the data version number and the DOS archive bit would come\n     into this category).\n\n(11) Allow the filesystem to indicate what it can/cannot provide: A\n     filesystem can now say it doesn\u0027t support a standard stat feature if\n     that isn\u0027t available, so if, for instance, inode numbers or UIDs don\u0027t\n     exist or are fabricated locally...\n\n     (This requires a separate system call - I have an fsinfo() call idea\n     for this).\n\n(12) Store a 16-byte volume ID in the superblock that can be returned in\n     struct xstat [Steve French].\n\n     (Deferred to fsinfo).\n\n(13) Include granularity fields in the time data to indicate the\n     granularity of each of the times (NFSv4 time_delta) [Steve French].\n\n     (Deferred to fsinfo).\n\n(14) FS_IOC_GETFLAGS value.  These could be translated to BSD\u0027s st_flags.\n     Note that the Linux IOC flags are a mess and filesystems such as Ext4\n     define flags that aren\u0027t in linux/fs.h, so translation in the kernel\n     may be a necessity (or, possibly, we provide the filesystem type too).\n\n     (Some attributes are made available in stx_attributes, but the general\n     feeling was that the IOC flags were to ext[234]-specific and shouldn\u0027t\n     be exposed through statx this way).\n\n(15) Mask of features available on file (eg: ACLs, seclabel) [Brad Boyer,\n     Michael Kerrisk].\n\n     (Deferred, probably to fsinfo.  Finding out if there\u0027s an ACL or\n     seclabal might require extra filesystem operations).\n\n(16) Femtosecond-resolution timestamps [Dave Chinner].\n\n     (A __reserved field has been left in the statx_timestamp struct for\n     this - if there proves to be a need).\n\n(17) A set multiple attributes syscall to go with this.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nNEW SYSTEM CALL\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe new system call is:\n\n\tint ret \u003d statx(int dfd,\n\t\t\tconst char *filename,\n\t\t\tunsigned int flags,\n\t\t\tunsigned int mask,\n\t\t\tstruct statx *buffer);\n\nThe dfd, filename and flags parameters indicate the file to query, in a\nsimilar way to fstatat().  There is no equivalent of lstat() as that can be\nemulated with statx() by passing AT_SYMLINK_NOFOLLOW in flags.  There is\nalso no equivalent of fstat() as that can be emulated by passing a NULL\nfilename to statx() with the fd of interest in dfd.\n\nWhether or not statx() synchronises the attributes with the backing store\ncan be controlled by OR\u0027ing a value into the flags argument (this typically\nonly affects network filesystems):\n\n (1) AT_STATX_SYNC_AS_STAT tells statx() to behave as stat() does in this\n     respect.\n\n (2) AT_STATX_FORCE_SYNC will require a network filesystem to synchronise\n     its attributes with the server - which might require data writeback to\n     occur to get the timestamps correct.\n\n (3) AT_STATX_DONT_SYNC will suppress synchronisation with the server in a\n     network filesystem.  The resulting values should be considered\n     approximate.\n\nmask is a bitmask indicating the fields in struct statx that are of\ninterest to the caller.  The user should set this to STATX_BASIC_STATS to\nget the basic set returned by stat().  It should be noted that asking for\nmore information may entail extra I/O operations.\n\nbuffer points to the destination for the data.  This must be 256 bytes in\nsize.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nMAIN ATTRIBUTES RECORD\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe following structures are defined in which to return the main attribute\nset:\n\n\tstruct statx_timestamp {\n\t\t__s64\ttv_sec;\n\t\t__s32\ttv_nsec;\n\t\t__s32\t__reserved;\n\t};\n\n\tstruct statx {\n\t\t__u32\tstx_mask;\n\t\t__u32\tstx_blksize;\n\t\t__u64\tstx_attributes;\n\t\t__u32\tstx_nlink;\n\t\t__u32\tstx_uid;\n\t\t__u32\tstx_gid;\n\t\t__u16\tstx_mode;\n\t\t__u16\t__spare0[1];\n\t\t__u64\tstx_ino;\n\t\t__u64\tstx_size;\n\t\t__u64\tstx_blocks;\n\t\t__u64\t__spare1[1];\n\t\tstruct statx_timestamp\tstx_atime;\n\t\tstruct statx_timestamp\tstx_btime;\n\t\tstruct statx_timestamp\tstx_ctime;\n\t\tstruct statx_timestamp\tstx_mtime;\n\t\t__u32\tstx_rdev_major;\n\t\t__u32\tstx_rdev_minor;\n\t\t__u32\tstx_dev_major;\n\t\t__u32\tstx_dev_minor;\n\t\t__u64\t__spare2[14];\n\t};\n\nThe defined bits in request_mask and stx_mask are:\n\n\tSTATX_TYPE\t\tWant/got stx_mode \u0026 S_IFMT\n\tSTATX_MODE\t\tWant/got stx_mode \u0026 ~S_IFMT\n\tSTATX_NLINK\t\tWant/got stx_nlink\n\tSTATX_UID\t\tWant/got stx_uid\n\tSTATX_GID\t\tWant/got stx_gid\n\tSTATX_ATIME\t\tWant/got stx_atime{,_ns}\n\tSTATX_MTIME\t\tWant/got stx_mtime{,_ns}\n\tSTATX_CTIME\t\tWant/got stx_ctime{,_ns}\n\tSTATX_INO\t\tWant/got stx_ino\n\tSTATX_SIZE\t\tWant/got stx_size\n\tSTATX_BLOCKS\t\tWant/got stx_blocks\n\tSTATX_BASIC_STATS\t[The stuff in the normal stat struct]\n\tSTATX_BTIME\t\tWant/got stx_btime{,_ns}\n\tSTATX_ALL\t\t[All currently available stuff]\n\nstx_btime is the file creation time, stx_mask is a bitmask indicating the\ndata provided and __spares*[] are where as-yet undefined fields can be\nplaced.\n\nTime fields are structures with separate seconds and nanoseconds fields\nplus a reserved field in case we want to add even finer resolution.  Note\nthat times will be negative if before 1970; in such a case, the nanosecond\nfields will also be negative if not zero.\n\nThe bits defined in the stx_attributes field convey information about a\nfile, how it is accessed, where it is and what it does.  The following\nattributes map to FS_*_FL flags and are the same numerical value:\n\n\tSTATX_ATTR_COMPRESSED\t\tFile is compressed by the fs\n\tSTATX_ATTR_IMMUTABLE\t\tFile is marked immutable\n\tSTATX_ATTR_APPEND\t\tFile is append-only\n\tSTATX_ATTR_NODUMP\t\tFile is not to be dumped\n\tSTATX_ATTR_ENCRYPTED\t\tFile requires key to decrypt in fs\n\nWithin the kernel, the supported flags are listed by:\n\n\tKSTAT_ATTR_FS_IOC_FLAGS\n\n[Are any other IOC flags of sufficient general interest to be exposed\nthrough this interface?]\n\nNew flags include:\n\n\tSTATX_ATTR_AUTOMOUNT\t\tObject is an automount trigger\n\nThese are for the use of GUI tools that might want to mark files specially,\ndepending on what they are.\n\nFields in struct statx come in a number of classes:\n\n (0) stx_dev_*, stx_blksize.\n\n     These are local system information and are always available.\n\n (1) stx_mode, stx_nlinks, stx_uid, stx_gid, stx_[amc]time, stx_ino,\n     stx_size, stx_blocks.\n\n     These will be returned whether the caller asks for them or not.  The\n     corresponding bits in stx_mask will be set to indicate whether they\n     actually have valid values.\n\n     If the caller didn\u0027t ask for them, then they may be approximated.  For\n     example, NFS won\u0027t waste any time updating them from the server,\n     unless as a byproduct of updating something requested.\n\n     If the values don\u0027t actually exist for the underlying object (such as\n     UID or GID on a DOS file), then the bit won\u0027t be set in the stx_mask,\n     even if the caller asked for the value.  In such a case, the returned\n     value will be a fabrication.\n\n     Note that there are instances where the type might not be valid, for\n     instance Windows reparse points.\n\n (2) stx_rdev_*.\n\n     This will be set only if stx_mode indicates we\u0027re looking at a\n     blockdev or a chardev, otherwise will be 0.\n\n (3) stx_btime.\n\n     Similar to (1), except this will be set to 0 if it doesn\u0027t exist.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nTESTING\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe following test program can be used to test the statx system call:\n\n\tsamples/statx/test-statx.c\n\nJust compile and run, passing it paths to the files you want to examine.\nThe file is built automatically if CONFIG_SAMPLES is enabled.\n\nHere\u0027s some example output.  Firstly, an NFS directory that crosses to\nanother FSID.  Note that the AUTOMOUNT attribute is set because transiting\nthis directory will cause d_automount to be invoked by the VFS.\n\n\t[root@andromeda ~]# /tmp/test-statx -A /warthog/data\n\tstatx(/warthog/data) \u003d 0\n\tresults\u003d7ff\n\t  Size: 4096            Blocks: 8          IO Block: 1048576  directory\n\tDevice: 00:26           Inode: 1703937     Links: 125\n\tAccess: (3777/drwxrwxrwx)  Uid:     0   Gid:  4041\n\tAccess: 2016-11-24 09:02:12.219699527+0000\n\tModify: 2016-11-17 10:44:36.225653653+0000\n\tChange: 2016-11-17 10:44:36.225653653+0000\n\tAttributes: 0000000000001000 (-------- -------- -------- -------- -------- -------- ---m---- --------)\n\nSecondly, the result of automounting on that directory.\n\n\t[root@andromeda ~]# /tmp/test-statx /warthog/data\n\tstatx(/warthog/data) \u003d 0\n\tresults\u003d7ff\n\t  Size: 4096            Blocks: 8          IO Block: 1048576  directory\n\tDevice: 00:27           Inode: 2           Links: 125\n\tAccess: (3777/drwxrwxrwx)  Uid:     0   Gid:  4041\n\tAccess: 2016-11-24 09:02:12.219699527+0000\n\tModify: 2016-11-17 10:44:36.225653653+0000\n\tChange: 2016-11-17 10:44:36.225653653+0000\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "174cd4b1e5fbd0d74c68cf3a74f5bd4923485512",
      "tree": "103e34df3da7bd1cdca65c0db1a19fff74830eaa",
      "parents": [
        "b12fb7f46af7d548503d75be59f493f958c6d1b3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 02 19:15:33 2017 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 02 08:42:32 2017 +0100"
      },
      "message": "sched/headers: Prepare to move signal wakeup \u0026 sigpending methods from \u003clinux/sched.h\u003e into \u003clinux/sched/signal.h\u003e\n\nFix up affected files that include this signal functionality via sched.h.\n\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0837e49ab3fa8d903a499984575d71efee8097ce",
      "tree": "8a15e36e5ca94f2c7b920ae5f13452aca7ff88b2",
      "parents": [
        "6053dc981449718d90a429933e99b441e1adaea6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 01 15:11:23 2017 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "james.l.morris@oracle.com",
        "time": "Thu Mar 02 10:09:00 2017 +1100"
      },
      "message": "KEYS: Differentiate uses of rcu_dereference_key() and user_key_payload()\n\nrcu_dereference_key() and user_key_payload() are currently being used in\ntwo different, incompatible ways:\n\n (1) As a wrapper to rcu_dereference() - when only the RCU read lock used\n     to protect the key.\n\n (2) As a wrapper to rcu_dereference_protected() - when the key semaphor is\n     used to protect the key and the may be being modified.\n\nFix this by splitting both of the key wrappers to produce:\n\n (1) RCU accessors for keys when caller has the key semaphore locked:\n\n\tdereference_key_locked()\n\tuser_key_payload_locked()\n\n (2) RCU accessors for keys when caller holds the RCU read lock:\n\n\tdereference_key_rcu()\n\tuser_key_payload_rcu()\n\nThis should fix following warning in the NFS idmapper\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: suspicious RCU usage. ]\n  4.10.0 #1 Tainted: G        W\n  -------------------------------\n  ./include/keys/user-type.h:53 suspicious rcu_dereference_protected() usage!\n  other info that might help us debug this:\n  rcu_scheduler_active \u003d 2, debug_locks \u003d 0\n  1 lock held by mount.nfs/5987:\n    #0:  (rcu_read_lock){......}, at: [\u003cd000000002527abc\u003e] nfs_idmap_get_key+0x15c/0x420 [nfsv4]\n  stack backtrace:\n  CPU: 1 PID: 5987 Comm: mount.nfs Tainted: G        W       4.10.0 #1\n  Call Trace:\n    dump_stack+0xe8/0x154 (unreliable)\n    lockdep_rcu_suspicious+0x140/0x190\n    nfs_idmap_get_key+0x380/0x420 [nfsv4]\n    nfs_map_name_to_uid+0x2a0/0x3b0 [nfsv4]\n    decode_getfattr_attrs+0xfac/0x16b0 [nfsv4]\n    decode_getfattr_generic.constprop.106+0xbc/0x150 [nfsv4]\n    nfs4_xdr_dec_lookup_root+0xac/0xb0 [nfsv4]\n    rpcauth_unwrap_resp+0xe8/0x140 [sunrpc]\n    call_decode+0x29c/0x910 [sunrpc]\n    __rpc_execute+0x140/0x8f0 [sunrpc]\n    rpc_run_task+0x170/0x200 [sunrpc]\n    nfs4_call_sync_sequence+0x68/0xa0 [nfsv4]\n    _nfs4_lookup_root.isra.44+0xd0/0xf0 [nfsv4]\n    nfs4_lookup_root+0xe0/0x350 [nfsv4]\n    nfs4_lookup_root_sec+0x70/0xa0 [nfsv4]\n    nfs4_find_root_sec+0xc4/0x100 [nfsv4]\n    nfs4_proc_get_rootfh+0x5c/0xf0 [nfsv4]\n    nfs4_get_rootfh+0x6c/0x190 [nfsv4]\n    nfs4_server_common_setup+0xc4/0x260 [nfsv4]\n    nfs4_create_server+0x278/0x3c0 [nfsv4]\n    nfs4_remote_mount+0x50/0xb0 [nfsv4]\n    mount_fs+0x74/0x210\n    vfs_kern_mount+0x78/0x220\n    nfs_do_root_mount+0xb0/0x140 [nfsv4]\n    nfs4_try_mount+0x60/0x100 [nfsv4]\n    nfs_fs_mount+0x5ec/0xda0 [nfs]\n    mount_fs+0x74/0x210\n    vfs_kern_mount+0x78/0x220\n    do_mount+0x254/0xf70\n    SyS_mount+0x94/0x100\n    system_call+0x38/0xe0\n\nReported-by: Jan Stancek \u003cjstancek@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Jan Stancek \u003cjstancek@redhat.com\u003e\nSigned-off-by: James Morris \u003cjames.l.morris@oracle.com\u003e\n"
    },
    {
      "commit": "57366a8d0bf24181fea3e9d5b772175059914a3c",
      "tree": "9fef1896706f74d3523b4d065950ec1f65a41cfc",
      "parents": [
        "b43daedc0e786e17943680dde410b553a33cd174"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Mon Feb 27 14:29:12 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 27 18:43:47 2017 -0800"
      },
      "message": "scripts/spelling.txt: add \"againt\" pattern and fix typo instances\n\nFix typos and add the following to the scripts/spelling.txt:\n\n  againt||against\n\nWhile we are here, fix the \"capabilites\" as well in the touched hunk in\ndrivers/gpu/drm/drm_probe_helper.c.\n\nLink: http://lkml.kernel.org/r/1481573103-11329-13-git-send-email-yamada.masahiro@socionext.com\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfeef68862edd7d4bafe68ef7aeb5f658ef24bb5",
      "tree": "8badba5ffc5fe9b6d0fdf2c74c4d752da200cad0",
      "parents": [
        "76fca90e9f3abc82114d9d02d8e14e0324a18ca2"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Fri Dec 09 16:45:04 2016 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Fri Dec 09 16:45:04 2016 +0100"
      },
      "message": "vfs: remove \".readlink \u003d generic_readlink\" assignments\n\nIf .readlink \u003d\u003d NULL implies generic_readlink().\n\nGenerated by:\n\nto_del\u003d\"\\.readlink.*\u003d.*generic_readlink\"\nfor i in `git grep -l $to_del`; do sed -i \"/$to_del\"/d $i; done\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@redhat.com\u003e\n"
    },
    {
      "commit": "6c988f575915ab5162332d61f91dca99dcc17335",
      "tree": "c17f5c57209779aca2b1f9845750fa73fa69e0d2",
      "parents": [
        "3f9ca75516a7e581ff803f751a869c1da5ae5fa5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Fri Dec 09 16:45:03 2016 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Fri Dec 09 16:45:03 2016 +0100"
      },
      "message": "ecryptfs: use vfs_get_link()\n\nHere again we are copying form one buffer to another, while jumping through\nhoops to make kernel memory look like userspace memory.\n\nFor no good reason, since vfs_get_link() provides exactly what is needed.\n\nAs a bonus, now the security hook for readlink is also called on the\nunderlying inode.\n\nNote: this can be called from link-following context.  But this is okay:\n\n - not in RCU mode\n\n - commit e54ad7f1ee26 (\"proc: prevent stacking filesystems on top\")\n\n - ecryptfs is *reading* the underlying symlink not following it, so the\n   right security hook is being called\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@redhat.com\u003e\nCc: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "101105b1717f536ca741f940033996302d4ef191",
      "tree": "12ab41ae1b1b66105e9fa2ea763356d2be7e8b34",
      "parents": [
        "35ff96dfd3c9aaa921b3e8dcac76b7697f2dcec0",
        "3873691e5ab34fa26948643d038a2b98c4437298"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 10 20:16:43 2016 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 10 20:16:43 2016 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull more vfs updates from Al Viro:\n \"\u003erename2() work from Miklos + current_time() from Deepa\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fs: Replace current_fs_time() with current_time()\n  fs: Replace CURRENT_TIME_SEC with current_time() for inode timestamps\n  fs: Replace CURRENT_TIME with current_time() for inode timestamps\n  fs: proc: Delete inode time initializations in proc_alloc_inode()\n  vfs: Add current_time() api\n  vfs: add note about i_op-\u003erename changes to porting\n  fs: rename \"rename2\" i_op to \"rename\"\n  vfs: remove unused i_op-\u003erename\n  fs: make remaining filesystems use .rename2\n  libfs: support RENAME_NOREPLACE in simple_rename()\n  fs: support RENAME_NOREPLACE for local filesystems\n  ncpfs: fix unused variable warning\n"
    },
    {
      "commit": "97d2116708ca0fd6ad8b00811ee4349b7e19e96f",
      "tree": "81f73fc1a6daee60737b591cf1be73cc4f79de37",
      "parents": [
        "30066ce675d3af350bc5a53858991c0b518dda00",
        "fd50ecaddf8372a1d96e0daeaac0f93cf04e4d42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 10 17:11:50 2016 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 10 17:11:50 2016 -0700"
      },
      "message": "Merge branch \u0027work.xattr\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs xattr updates from Al Viro:\n \"xattr stuff from Andreas\n\n  This completes the switch to xattr_handler -\u003eget()/-\u003eset() from\n  -\u003egetxattr/-\u003esetxattr/-\u003eremovexattr\"\n\n* \u0027work.xattr\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  vfs: Remove {get,set,remove}xattr inode operations\n  xattr: Stop calling {get,set,remove}xattr inode operations\n  vfs: Check for the IOP_XATTR flag in listxattr\n  xattr: Add __vfs_{get,set,remove}xattr helpers\n  libfs: Use IOP_XATTR flag for empty directory handling\n  vfs: Use IOP_XATTR flag for bad-inode handling\n  vfs: Add IOP_XATTR inode operations flag\n  vfs: Move xattr_resolve_name to the front of fs/xattr.c\n  ecryptfs: Switch to generic xattr handlers\n  sockfs: Get rid of getxattr iop\n  sockfs: getxattr: Fail with -EOPNOTSUPP for invalid attribute names\n  kernfs: Switch to generic xattr handlers\n  hfs: Switch to generic xattr handlers\n  jffs2: Remove jffs2_{get,set,remove}xattr macros\n  xattr: Remove unnecessary NULL attribute name check\n"
    },
    {
      "commit": "fd50ecaddf8372a1d96e0daeaac0f93cf04e4d42",
      "tree": "2a7d258793534d8b67d6369d0659e5c5aac9cbb7",
      "parents": [
        "41fefa36be0b3356b95ca665042fc54c2646a833"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruenba@redhat.com",
        "time": "Thu Sep 29 17:48:45 2016 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 07 21:48:36 2016 -0400"
      },
      "message": "vfs: Remove {get,set,remove}xattr inode operations\n\nThese inode operations are no longer used; remove them.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruenba@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5d6c31910bc0713e37628dc0ce677dcb13c8ccf4",
      "tree": "a28f96e71f09da2fbbde50882d56e5d5657c0ede",
      "parents": [
        "f5c244383725a6de06bc62fa7c54c0ea0d942eec"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruenba@redhat.com",
        "time": "Thu Sep 29 17:48:42 2016 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 07 20:10:44 2016 -0400"
      },
      "message": "xattr: Add __vfs_{get,set,remove}xattr helpers\n\nRight now, various places in the kernel check for the existence of\ngetxattr, setxattr, and removexattr inode operations and directly call\nthose operations.  Switch to helper functions and test for the IOP_XATTR\nflag instead.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruenba@redhat.com\u003e\nAcked-by: James Morris \u003cjames.l.morris@oracle.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4b899da50dcf1a7850715650281b5d76af8a5eb4",
      "tree": "f9999fc74a3533644f33c298875d16d1e8191e85",
      "parents": [
        "bba0bd31b117cba754322f337e61def53d9b22e5"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruenba@redhat.com",
        "time": "Thu Sep 29 17:48:36 2016 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 06 22:17:38 2016 -0400"
      },
      "message": "ecryptfs: Switch to generic xattr handlers\n\nSigned-off-by: Andreas Gruenbacher \u003cagruenba@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2773bf00aeb9bf39e022463272a61dd0ec9f55f4",
      "tree": "1d0cc9cf72e5ff955609e4dc43d8bcd075212ff1",
      "parents": [
        "18fc84dafaac1fd63d5e6e600058eada8fc7914b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Tue Sep 27 11:03:58 2016 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Tue Sep 27 11:03:58 2016 +0200"
      },
      "message": "fs: rename \"rename2\" i_op to \"rename\"\n\nGenerated patch:\n\nsed -i \"s/\\.rename2\\t/\\.rename\\t\\t/\" `git grep -wl rename2`\nsed -i \"s/\\brename2\\b/rename/g\" `git grep -wl rename2`\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@redhat.com\u003e\n"
    },
    {
      "commit": "1cd66c93ba8cdb873258f58ae6a817b28a02bcc3",
      "tree": "f9a1f49b000c9959c5b278eae175b996ade3a7cd",
      "parents": [
        "e0e0be8a835520e2f7c89f214dfda570922a1b90"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Tue Sep 27 11:03:58 2016 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@redhat.com",
        "time": "Tue Sep 27 11:03:58 2016 +0200"
      },
      "message": "fs: make remaining filesystems use .rename2\n\nThis is trivial to do:\n\n - add flags argument to foo_rename()\n - check if flags is zero\n - assign foo_rename() to .rename2 instead of .rename\n\nThis doesn\u0027t mean it\u0027s impossible to support RENAME_NOREPLACE for these\nfilesystems, but it is not trivial, like for local filesystems.\nRENAME_NOREPLACE must guarantee atomicity (i.e. it shouldn\u0027t be possible\nfor a file to be created on one host while it is overwritten by rename on\nanother host).\n\nFilesystems converted:\n\n9p, afs, ceph, coda, ecryptfs, kernfs, lustre, ncpfs, nfs, ocfs2, orangefs.\n\nAfter this, we can get rid of the duplicate interfaces for rename.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e [AFS]\nAcked-by: Mike Marshall \u003chubcap@omnibond.com\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nCc: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nCc: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nCc: Oleg Drokin \u003coleg.drokin@intel.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@primarydata.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "31051c85b5e2aaaf6315f74c72a732673632a905",
      "tree": "a3bdc58adf95cd02276f44188f6b33c9f06f5e1a",
      "parents": [
        "62490330769c1ce5dcba3f1f3e8f4005e9b797e6"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 26 16:55:18 2016 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Sep 22 10:56:19 2016 +0200"
      },
      "message": "fs: Give dentry to inode_change_ok() instead of inode\n\ninode_change_ok() will be resposible for clearing capabilities and IMA\nextended attributes and as such will need dentry. Give it as an argument\nto inode_change_ok() instead of an inode. Also rename inode_change_ok()\nto setattr_prepare() to better relect that it does also some\nmodifications in addition to checks.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f0fe970df3838c202ef6c07a4c2b36838ef0a88b",
      "tree": "f9556752b553050c87aef3172147f94e242778a9",
      "parents": [
        "78c4e172412de5d0456dc00d2b34050aa0b683b5"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Tue Jul 05 17:32:30 2016 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Fri Jul 08 10:35:28 2016 -0500"
      },
      "message": "ecryptfs: don\u0027t allow mmap when the lower fs doesn\u0027t support it\n\nThere are legitimate reasons to disallow mmap on certain files, notably\nin sysfs or procfs.  We shouldn\u0027t emulate mmap support on file systems\nthat don\u0027t offer support natively.\n\nCVE-2016-1583\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: stable@vger.kernel.org\n[tyhicks: clean up f_op check by using ecryptfs_file_to_lower()]\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "78c4e172412de5d0456dc00d2b34050aa0b683b5",
      "tree": "38bb67536788cf18997559d2d067c2459192ce63",
      "parents": [
        "40f0fd372a623e8d32bae0b9361d2a7453ae7a2e"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Tue Jul 05 17:32:29 2016 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Jul 07 18:47:57 2016 -0500"
      },
      "message": "Revert \"ecryptfs: forbid opening files without mmap handler\"\n\nThis reverts commit 2f36db71009304b3f0b95afacd8eba1f9f046b87.\n\nIt fixed a local root exploit but also introduced a dependency on\nthe lower file system implementing an mmap operation just to open a file,\nwhich is a bit of a heavy hammer.  The right fix is to have mmap depend\non the existence of the mmap handler instead.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "40f0fd372a623e8d32bae0b9361d2a7453ae7a2e",
      "tree": "36b9adc2b0e0a7f77c2bc58113ccc9a97fe99300",
      "parents": [
        "5f9f2c2abd16fcea6cf7cf87791a24687e2fc345"
      ],
      "author": {
        "name": "Chris J Arges",
        "email": "chris.j.arges@canonical.com",
        "time": "Thu Jun 09 15:31:29 2016 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Jun 20 10:02:35 2016 -0500"
      },
      "message": "ecryptfs: fix spelling mistakes\n\nNoticed some minor spelling errors when looking through the code.\n\nSigned-off-by: Chris J Arges \u003cchris.j.arges@canonical.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "5f9f2c2abd16fcea6cf7cf87791a24687e2fc345",
      "tree": "2b4b5a3914c927730ebe162b53954db4308bc11d",
      "parents": [
        "c39341cf0d08357f448f4c2fffe2ebcc9495fd01"
      ],
      "author": {
        "name": "Wei Yuan",
        "email": "weiyuan.wei@huawei.com",
        "time": "Wed Feb 17 14:50:10 2016 +0800"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Jun 20 10:02:23 2016 -0500"
      },
      "message": "eCryptfs: fix typos in comment\n\nSigned-off-by: Weiyuan \u003cweiyuan.wei@huawei.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "c39341cf0d08357f448f4c2fffe2ebcc9495fd01",
      "tree": "c4ef593372802985b325d9726289cc54d6c96b63",
      "parents": [
        "33688abb2802ff3a230bd2441f765477b94cc89e"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "Julia.Lawall@lip6.fr",
        "time": "Sun Sep 13 14:15:21 2015 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Jun 20 10:02:22 2016 -0500"
      },
      "message": "ecryptfs: drop null test before destroy functions\n\nRemove unneeded NULL test.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@ expression x; @@\n-if (x !\u003d NULL)\n  \\(kmem_cache_destroy\\|mempool_destroy\\|dma_pool_destroy\\)(x);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "f5364c150aa645b3d7daa21b5c0b9feaa1c9cd6d",
      "tree": "a7445608f147d3a7214382c5db3f5d721ee99369",
      "parents": [
        "33fc259a2053f89d6ea0f07f534079b58899d128",
        "29d6455178a09e1dc340380c582b13356227e8df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 10 12:10:02 2016 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 10 12:10:02 2016 -0700"
      },
      "message": "Merge branch \u0027stacking-fixes\u0027 (vfs stacking fixes from Jann)\n\nMerge filesystem stacking fixes from Jann Horn.\n\n* emailed patches from Jann Horn \u003cjannh@google.com\u003e:\n  sched: panic on corrupted stack end\n  ecryptfs: forbid opening files without mmap handler\n  proc: prevent stacking filesystems on top\n"
    },
    {
      "commit": "2f36db71009304b3f0b95afacd8eba1f9f046b87",
      "tree": "0ce45950e4043208a1d035effd5a9305d18fe405",
      "parents": [
        "e54ad7f1ee263ffa5a2de9c609d58dfa27b21cd9"
      ],
      "author": {
        "name": "Jann Horn",
        "email": "jannh@google.com",
        "time": "Wed Jun 01 11:55:06 2016 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 10 12:09:43 2016 -0700"
      },
      "message": "ecryptfs: forbid opening files without mmap handler\n\nThis prevents users from triggering a stack overflow through a recursive\ninvocation of pagefault handling that involves mapping procfs files into\nvirtual memory.\n\nSigned-off-by: Jann Horn \u003cjannh@google.com\u003e\nAcked-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3767e255b390d72f9a33c08d9e86c5f21f25860f",
      "tree": "519dcbb61591a2ad94c36d3896e4787074e4813d",
      "parents": [
        "5930122683dff58f0846b0f0405b4bd598a3ba6a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 27 11:06:05 2016 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 27 20:09:16 2016 -0400"
      },
      "message": "switch -\u003esetxattr() to passing dentry and inode separately\n\nsmack -\u003ed_instantiate() uses -\u003esetxattr(), so to be able to call it before\nwe\u0027d hashed the new dentry and attached it to inode, we need -\u003esetxattr()\ninstances getting the inode as an explicit argument rather than obtaining\nit from dentry.\n\nSimilar change for -\u003egetxattr() had been done in commit ce23e64.  Unlike\n-\u003egetxattr() (which is used by both selinux and smack instances of\n-\u003ed_instantiate()) -\u003esetxattr() is used only by smack one and unfortunately\nit got missed back then.\n\nReported-by: Seung-Woo Kim \u003csw0312.kim@samsung.com\u003e\nTested-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9e17632c0a146891c90a4353a160cfcf71f34b8f",
      "tree": "9ab52130a11cdc9cac5f4727b773badf1279555f",
      "parents": [
        "69370471d0b2fc3020c60f5473b1eef5977d165a",
        "2c4cb04300fa160e9d78335c74184c4e66a56437"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 11:51:59 2016 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 11:51:59 2016 -0700"
      },
      "message": "Merge branch \u0027work.misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull misc vfs cleanups from Al Viro:\n \"Assorted cleanups and fixes all over the place\"\n\n* \u0027work.misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  coredump: only charge written data against RLIMIT_CORE\n  coredump: get rid of coredump_params-\u003ewritten\n  ecryptfs_lookup(): try either only encrypted or plaintext name\n  ecryptfs: avoid multiple aliases for directories\n  bpf: reject invalid names right in -\u003elookup()\n  __d_alloc(): treat NULL name as QSTR(\"/\", 1)\n  mtd: switch ubi_open_volume_path() to vfs_stat()\n  mtd: switch open_mtd_by_chdev() to use of vfs_stat()\n"
    },
    {
      "commit": "7f427d3a6029331304f91ef4d7cf646f054216d2",
      "tree": "61c4a7b9b0ec387da0536324cc2c07b2427b9b46",
      "parents": [
        "ede40902cf80714ece199977b308e2ee437cae0b",
        "0e0162bb8c008fa7742f69d4d4982c8a37b88f95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 17 11:01:31 2016 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 17 11:01:31 2016 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull parallel filesystem directory handling update from Al Viro.\n\nThis is the main parallel directory work by Al that makes the vfs layer\nable to do lookup and readdir in parallel within a single directory.\nThat\u0027s a big change, since this used to be all protected by the\ndirectory inode mutex.\n\nThe inode mutex is replaced by an rwsem, and serialization of lookups of\na single name is done by a \"in-progress\" dentry marker.\n\nThe series begins with xattr cleanups, and then ends with switching\nfilesystems over to actually doing the readdir in parallel (switching to\nthe \"iterate_shared()\" that only takes the read lock).\n\nA more detailed explanation of the process from Al Viro:\n \"The xattr work starts with some acl fixes, then switches -\u003egetxattr to\n  passing inode and dentry separately.  This is the point where the\n  things start to get tricky - that got merged into the very beginning\n  of the -rc3-based #work.lookups, to allow untangling the\n  security_d_instantiate() mess.  The xattr work itself proceeds to\n  switch a lot of filesystems to generic_...xattr(); no complications\n  there.\n\n  After that initial xattr work, the series then does the following:\n\n   - untangle security_d_instantiate()\n\n   - convert a bunch of open-coded lookup_one_len_unlocked() to calls of\n     that thing; one such place (in overlayfs) actually yields a trivial\n     conflict with overlayfs fixes later in the cycle - overlayfs ended\n     up switching to a variant of lookup_one_len_unlocked() sans the\n     permission checks.  I would\u0027ve dropped that commit (it gets\n     overridden on merge from #ovl-fixes in #for-next; proper resolution\n     is to use the variant in mainline fs/overlayfs/super.c), but I\n     didn\u0027t want to rebase the damn thing - it was fairly late in the\n     cycle...\n\n   - some filesystems had managed to depend on lookup/lookup exclusion\n     for *fs-internal* data structures in a way that would break if we\n     relaxed the VFS exclusion.  Fixing hadn\u0027t been hard, fortunately.\n\n   - core of that series - parallel lookup machinery, replacing\n     -\u003ei_mutex with rwsem, making lookup_slow() take it only shared.  At\n     that point lookups happen in parallel; lookups on the same name\n     wait for the in-progress one to be done with that dentry.\n\n     Surprisingly little code, at that - almost all of it is in\n     fs/dcache.c, with fs/namei.c changes limited to lookup_slow() -\n     making it use the new primitive and actually switching to locking\n     shared.\n\n   - parallel readdir stuff - first of all, we provide the exclusion on\n     per-struct file basis, same as we do for read() vs lseek() for\n     regular files.  That takes care of most of the needed exclusion in\n     readdir/readdir; however, these guys are trickier than lookups, so\n     I went for switching them one-by-one.  To do that, a new method\n     \u0027-\u003eiterate_shared()\u0027 is added and filesystems are switched to it\n     as they are either confirmed to be OK with shared lock on directory\n     or fixed to be OK with that.  I hope to kill the original method\n     come next cycle (almost all in-tree filesystems are switched\n     already), but it\u0027s still not quite finished.\n\n   - several filesystems get switched to parallel readdir.  The\n     interesting part here is dealing with dcache preseeding by readdir;\n     that needs minor adjustment to be safe with directory locked only\n     shared.\n\n     Most of the filesystems doing that got switched to in those\n     commits.  Important exception: NFS.  Turns out that NFS folks, with\n     their, er, insistence on VFS getting the fuck out of the way of the\n     Smart Filesystem Code That Knows How And What To Lock(tm) have\n     grown the locking of their own.  They had their own homegrown\n     rwsem, with lookup/readdir/atomic_open being *writers* (sillyunlink\n     is the reader there).  Of course, with VFS getting the fuck out of\n     the way, as requested, the actual smarts of the smart filesystem\n     code etc. had become exposed...\n\n   - do_last/lookup_open/atomic_open cleanups.  As the result, open()\n     without O_CREAT locks the directory only shared.  Including the\n     -\u003eatomic_open() case.  Backmerge from #for-linus in the middle of\n     that - atomic_open() fix got brought in.\n\n   - then comes NFS switch to saner (VFS-based ;-) locking, killing the\n     homegrown \"lookup and readdir are writers\" kinda-sorta rwsem.  All\n     exclusion for sillyunlink/lookup is done by the parallel lookups\n     mechanism.  Exclusion between sillyunlink and rmdir is a real rwsem\n     now - rmdir being the writer.\n\n     Result: NFS lookups/readdirs/O_CREAT-less opens happen in parallel\n     now.\n\n   - the rest of the series consists of switching a lot of filesystems\n     to parallel readdir; in a lot of cases -\u003ellseek() gets simplified\n     as well.  One backmerge in there (again, #for-linus - rockridge\n     fix)\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (74 commits)\n  ext4: switch to -\u003eiterate_shared()\n  hfs: switch to -\u003eiterate_shared()\n  hfsplus: switch to -\u003eiterate_shared()\n  hostfs: switch to -\u003eiterate_shared()\n  hpfs: switch to -\u003eiterate_shared()\n  hpfs: handle allocation failures in hpfs_add_pos()\n  gfs2: switch to -\u003eiterate_shared()\n  f2fs: switch to -\u003eiterate_shared()\n  afs: switch to -\u003eiterate_shared()\n  befs: switch to -\u003eiterate_shared()\n  befs: constify stuff a bit\n  isofs: switch to -\u003eiterate_shared()\n  get_acorn_filename(): deobfuscate a bit\n  btrfs: switch to -\u003eiterate_shared()\n  logfs: no need to lock directory in lseek\n  switch ecryptfs to -\u003eiterate_shared\n  9p: switch to -\u003eiterate_shared()\n  fat: switch to -\u003eiterate_shared()\n  romfs, squashfs: switch to -\u003eiterate_shared()\n  more trivial -\u003eiterate_shared conversions\n  ...\n"
    },
    {
      "commit": "9a07a7968407e20fe87ed6b5eb6a6000e4819492",
      "tree": "35bd04d937c731d8aad1768193ace3518f985965",
      "parents": [
        "16490980e396fac079248b23b1dd81e7d48bebf3",
        "256b1cfb9a346bb4808cd27b7b8f9b120f96491e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 17 09:33:39 2016 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 17 09:33:39 2016 -0700"
      },
      "message": "Merge branch \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto update from Herbert Xu:\n \"API:\n\n   - Crypto self tests can now be disabled at boot/run time.\n   - Add async support to algif_aead.\n\n  Algorithms:\n\n   - A large number of fixes to MPI from Nicolai Stange.\n   - Performance improvement for HMAC DRBG.\n\n  Drivers:\n\n   - Use generic crypto engine in omap-des.\n   - Merge ppc4xx-rng and crypto4xx drivers.\n   - Fix lockups in sun4i-ss driver by disabling IRQs.\n   - Add DMA engine support to ccp.\n   - Reenable talitos hash algorithms.\n   - Add support for Hisilicon SoC RNG.\n   - Add basic crypto driver for the MXC SCC.\n\n  Others:\n\n   - Do not allocate crypto hash tfm in NORECLAIM context in ecryptfs\"\n\n* \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (77 commits)\n  crypto: qat - change the adf_ctl_stop_devices to void\n  crypto: caam - fix caam_jr_alloc() ret code\n  crypto: vmx - comply with ABIs that specify vrsave as reserved.\n  crypto: testmgr - Add a flag allowing the self-tests to be disabled at runtime.\n  crypto: ccp - constify ccp_actions structure\n  crypto: marvell/cesa - Use dma_pool_zalloc\n  crypto: qat - make adf_vf_isr.c dependant on IOV config\n  crypto: qat - Fix typo in comments\n  lib: asn1_decoder - add MODULE_LICENSE(\"GPL\")\n  crypto: omap-sham - Use dma_request_chan() for requesting DMA channel\n  crypto: omap-des - Use dma_request_chan() for requesting DMA channel\n  crypto: omap-aes - Use dma_request_chan() for requesting DMA channel\n  crypto: omap-des - Integrate with the crypto engine framework\n  crypto: s5p-sss - fix incorrect usage of scatterlists api\n  crypto: s5p-sss - Fix missed interrupts when working with 8 kB blocks\n  crypto: s5p-sss - Use common BIT macro\n  crypto: mxc-scc - fix unwinding in mxc_scc_crypto_register()\n  crypto: mxc-scc - signedness bugs in mxc_scc_ablkcipher_req_init()\n  crypto: talitos - fix ahash algorithms registration\n  crypto: ccp - Ensure all dependencies are specified\n  ...\n"
    },
    {
      "commit": "e4d35be584be88a3db3fa5635a97c62a2ec5aafe",
      "tree": "fc22a7fb65697306edd71411959ccee6df60c64d",
      "parents": [
        "99d825822eade8d827a1817357cbf3f889a552d6",
        "38b78a5f18584db6fa7441e0f4531b283b0e6725"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 11 00:00:29 2016 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 11 00:00:29 2016 -0400"
      },
      "message": "Merge branch \u0027ovl-fixes\u0027 into for-linus\n"
    },
    {
      "commit": "51a16a9cd538736784e8471602d867bf6a26d0d5",
      "tree": "3b1b2a219e21266e189593a1b9e9b6f6742a74a4",
      "parents": [
        "a063ff1e43833559efff0ef782deb464a803644b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 04 16:21:20 2016 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 09 11:42:18 2016 -0400"
      },
      "message": "switch ecryptfs to -\u003eiterate_shared\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a063ff1e43833559efff0ef782deb464a803644b",
      "tree": "39c0fb3b42d031e73da26ab56a4bc75333ebc37c",
      "parents": [
        "5963ded8fecedbab6b99274126434c7a22c45c84",
        "99d825822eade8d827a1817357cbf3f889a552d6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 09 11:41:30 2016 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 09 11:41:30 2016 -0400"
      },
      "message": "Merge branch \u0027for-linus\u0027 into work.lookups\n"
    },
    {
      "commit": "6a480a7842545ec520a91730209ec0bae41694c1",
      "tree": "ba40d93639c0cce7e461880199023d371f1b2535",
      "parents": [
        "10c64cea04d3c75c306b3f990586ffb343b63287"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 04 14:04:13 2016 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 04 14:04:13 2016 -0400"
      },
      "message": "ecryptfs: fix handling of directory opening\n\nFirst of all, trying to open them r/w is idiocy; it\u0027s guaranteed to fail.\nMoreover, assigning -\u003ef_pos and assuming that everything will work is\nblatantly broken - try that with e.g. tmpfs as underlying layer and watch\nthe fireworks.  There may be a non-trivial amount of state associated with\ncurrent IO position, well beyond the numeric offset.  Using the single\nstruct file associated with underlying inode is really not a good idea;\nwe ought to open one for each ecryptfs directory struct file.\n\nAdditionally, file_operations both for directories and non-directories are\nfull of pointless methods; non-directories should *not* have -\u003eiterate(),\ndirectories should not have -\u003eflush(), -\u003efasync() and -\u003esplice_read().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "84695ffee7987ee1e581be4c4696e47e1a29403b",
      "tree": "78ca09a96ecd6a6b5f4fae744c381968635af68d",
      "parents": [
        "bf16200689118d19de1b8d2a3c314fc21f5dc7bb",
        "ce23e640133484eebc20ca7b7668388213e11327"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 02 19:45:47 2016 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 02 19:45:47 2016 -0400"
      },
      "message": "Merge getxattr prototype change into work.lookups\n\nThe rest of work.xattr stuff isn\u0027t needed for this branch\n"
    },
    {
      "commit": "e81f3340bba2bdcdf021aff511830e718e6e2112",
      "tree": "2fce034abb35b8caed6170cb9ebad27cc813f95f",
      "parents": [
        "b3ab30a7cbdaf7ba20dddeac252cc0238312fff0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Apr 16 15:01:09 2016 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Apr 20 17:50:01 2016 +0800"
      },
      "message": "eCryptfs: Do not allocate hash tfm in NORECLAIM context\n\nYou cannot allocate crypto tfm objects in NORECLAIM or NOFS contexts.\nThe ecryptfs code currently does exactly that for the MD5 tfm.\n\nThis patch fixes it by preallocating the MD5 tfm in a safe context.\n\nThe MD5 tfm is also reentrant so this patch removes the superfluous\ncs_hash_tfm_mutex.\n\nReported-by: Nicolas Boichat \u003cdrinkcat@chromium.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ce23e640133484eebc20ca7b7668388213e11327",
      "tree": "0b37de221fe6790396c3ae636bc56e5aacbcaf46",
      "parents": [
        "b296821a7c42fa58baa17513b2b7b30ae66f3336"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 11 00:48:00 2016 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 11 00:48:00 2016 -0400"
      },
      "message": "-\u003egetxattr(): pass dentry and inode as separate arguments\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ea1754a084760e68886f5b725c8eaada9cc57155",
      "tree": "2e14936a959a661ee68d4490cb9b82b94bb27ab9",
      "parents": [
        "09cbfeaf1a5a67bfb3201e0c83c810cecb2efa5a"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill.shutemov@linux.intel.com",
        "time": "Fri Apr 01 15:29:48 2016 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 10:41:08 2016 -0700"
      },
      "message": "mm, fs: remove remaining PAGE_CACHE_* and page_cache_{get,release} usage\n\nMostly direct substitution with occasional adjustment or removing\noutdated comments.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09cbfeaf1a5a67bfb3201e0c83c810cecb2efa5a",
      "tree": "6cdf210c9c0f981cd22544feeba701892ec19464",
      "parents": [
        "c05c2ec96bb8b7310da1055c7b9d786a3ec6dc0c"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill.shutemov@linux.intel.com",
        "time": "Fri Apr 01 15:29:47 2016 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 10:41:08 2016 -0700"
      },
      "message": "mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros\n\nPAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time\nago with promise that one day it will be possible to implement page\ncache with bigger chunks than PAGE_SIZE.\n\nThis promise never materialized.  And unlikely will.\n\nWe have many places where PAGE_CACHE_SIZE assumed to be equal to\nPAGE_SIZE.  And it\u0027s constant source of confusion on whether\nPAGE_CACHE_* or PAGE_* constant should be used in a particular case,\nespecially on the border between fs and mm.\n\nGlobal switching to PAGE_CACHE_SIZE !\u003d PAGE_SIZE would cause to much\nbreakage to be doable.\n\nLet\u0027s stop pretending that pages in page cache are special.  They are\nnot.\n\nThe changes are pretty straight-forward:\n\n - \u003cfoo\u003e \u003c\u003c (PAGE_CACHE_SHIFT - PAGE_SHIFT) -\u003e \u003cfoo\u003e;\n\n - \u003cfoo\u003e \u003e\u003e (PAGE_CACHE_SHIFT - PAGE_SHIFT) -\u003e \u003cfoo\u003e;\n\n - PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} -\u003e PAGE_{SIZE,SHIFT,MASK,ALIGN};\n\n - page_cache_get() -\u003e get_page();\n\n - page_cache_release() -\u003e put_page();\n\nThis patch contains automated changes generated with coccinelle using\nscript below.  For some reason, coccinelle doesn\u0027t patch header files.\nI\u0027ve called spatch for them manually.\n\nThe only adjustment after coccinelle is revert of changes to\nPAGE_CAHCE_ALIGN definition: we are going to drop it later.\n\nThere are few places in the code where coccinelle didn\u0027t reach.  I\u0027ll\nfix them manually in a separate patch.  Comments and documentation also\nwill be addressed with the separate patch.\n\nvirtual patch\n\n@@\nexpression E;\n@@\n- E \u003c\u003c (PAGE_CACHE_SHIFT - PAGE_SHIFT)\n+ E\n\n@@\nexpression E;\n@@\n- E \u003e\u003e (PAGE_CACHE_SHIFT - PAGE_SHIFT)\n+ E\n\n@@\n@@\n- PAGE_CACHE_SHIFT\n+ PAGE_SHIFT\n\n@@\n@@\n- PAGE_CACHE_SIZE\n+ PAGE_SIZE\n\n@@\n@@\n- PAGE_CACHE_MASK\n+ PAGE_MASK\n\n@@\nexpression E;\n@@\n- PAGE_CACHE_ALIGN(E)\n+ PAGE_ALIGN(E)\n\n@@\nexpression E;\n@@\n- page_cache_get(E)\n+ get_page(E)\n\n@@\nexpression E;\n@@\n- page_cache_release(E)\n+ put_page(E)\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "88ae4ab9802eaa8e400e611f85883143d89d6b61"
}
