1. 15 12月, 2017 6 次提交
  2. 14 12月, 2017 2 次提交
    • L
      Merge tag 'xfs-4.15-fixes-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 7c5cac1b
      Linus Torvalds 提交于
      Pull xfs fixes from Darrick Wong:
       "Here are a few more bug fixes & cleanups for 4.15-rc4:
      
         - clean up duplicate includes
      
         - remove ancient 'no-alloc' crap code that occasionally caused hard
           fs shutdowns due to lack of proper space reservations
      
         - fix regression in FIEMAP behavior when reporting xattr extents"
      
      * tag 'xfs-4.15-fixes-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: make iomap_begin functions trim iomaps consistently
        xfs: remove "no-allocation" reservations for file creations
        fs: xfs: remove duplicate includes
      7c5cac1b
    • L
      Merge tag 'riscv-for-linus-4.15-rc4-riscv_fixes' of... · 4e746cf4
      Linus Torvalds 提交于
      Merge tag 'riscv-for-linus-4.15-rc4-riscv_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/linux
      
      Pull RISC-V fixes from Palmer Dabbelt:
       "This contains three small fixes:
      
         - A fix to a typo in sys_riscv_flush_icache. This only effects error
           handling, but I think it's a small and obvious enough change that
           it's sane outside the merge window.
      
         - The addition of smp_mb__after_spinlock(), which was recently
           removed due to an incorrect comment. This is largly a comment
           change (as there's a big one now), and while it's necessary for
           complience with the RISC-V memory model the lack of this fence
           shouldn't manifest as a bug on current implementations.
           Nonetheless, it still seems saner to have the fence in 4.15.
      
         - The removal of some of the HVC_RISCV_SBI driver that snuck into the
           arch port. This is compile-time dead code in 4.15 (as the driver
           isn't in yet), and during the review process we found a better way
           to implement early printk on RISC-V. While this change doesn't do
           anything, it will make staging our HVC driver easier: without this
           change the HVC driver we hope to upstream won't build on 4.15
           (because the 4.15 arch code would reference a function that no
           longer exists).
      
        I don't think this is the last patch set we'll want for 4.15: I think
        I'll want to remove some of the first-level irqchip driver that snuck
        in as well, which will look a lot like the HVC patch here. This is
        pending some asm-generic cleanup I'm doing that I haven't quite gotten
        clean enough to send out yet, though, but hopefully it'll be ready by
        next week (and still OK for that late)"
      
       * tag 'riscv-for-linus-4.15-rc4-riscv_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/linux:
        RISC-V: Remove unused CONFIG_HVC_RISCV_SBI code
        RISC-V: Resurrect smp_mb__after_spinlock()
        RISC-V: Logical vs Bitwise typo
      4e746cf4
  3. 13 12月, 2017 1 次提交
    • L
      Merge tag 'platform-drivers-x86-v4.15-3' of git://git.infradead.org/linux-platform-drivers-x86 · d39a01ef
      Linus Torvalds 提交于
      Pull x86 platform driver fixes from Darren Hart:
      
       - Correct an error in the evdev protocol in asus-wireless which results
         in dropped key events in recent versions of libinput
      
       - Add a quirk for keyboard lighting for a specific Dell laptop
      
       - Silence a static analysis warning regarding unchecked return values
         of small kmalloc() allocations in dell-wmi
      
      * tag 'platform-drivers-x86-v4.15-3' of git://git.infradead.org/linux-platform-drivers-x86:
        platform/x86: dell-wmi: check for kmalloc() errors
        platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes
        platform/x86: dell-laptop: Fix keyboard max lighting for Dell Latitude E6410
      d39a01ef
  4. 12 12月, 2017 9 次提交
  5. 11 12月, 2017 12 次提交
    • P
      RISC-V: Remove unused CONFIG_HVC_RISCV_SBI code · 27b01745
      Palmer Dabbelt 提交于
      This is code that probably should never have made it into the kernel in
      the first place: it depends on a driver that hadn't been reviewed yet.
      During the HVC_SBI_RISCV review process a better way of doing this was
      suggested, but that means this code is defunct.  It's compile-time
      disabled in 4.15 because the driver isn't in, so I think it's safe to
      just remove this for now.
      
      CC: Greg KH <gregkh@linuxfoundation.org>
      Signed-off-by: NPalmer Dabbelt <palmer@sifive.com>
      27b01745
    • P
      RISC-V: Resurrect smp_mb__after_spinlock() · 3cfa5008
      Palmer Dabbelt 提交于
      I removed this last week because of an incorrect comment:
      smp_mb__after_spinlock() is actually still used, and is necessary on
      RISC-V.  It's been resurrected, with a comment that describes what it
      actually does this time.  Thanks to Andrea for finding the bug!
      
      Fixes: 3343eb68 ("RISC-V: Remove smb_mb__{before,after}_spinlock()")
      CC: Andrea Parri <parri.andrea@gmail.com>
      Signed-off-by: NPalmer Dabbelt <palmer@sifive.com>
      3cfa5008
    • D
      RISC-V: Logical vs Bitwise typo · 86ad5c97
      Dan Carpenter 提交于
      In the current code, there is a ! logical NOT where a bitwise ~ NOT was
      intended.  It means that we never return -EINVAL.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NPalmer Dabbelt <palmer@sifive.com>
      86ad5c97
    • S
      workqueue: remove unneeded kallsyms include · 01dfee95
      Sergey Senozhatsky 提交于
      The filw was converted from print_symbol() to %pf some time
      ago (044c782c "workqueue: fix checkpatch issues").
      kallsyms does not seem to be needed anymore.
      Signed-off-by: NSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      01dfee95
    • M
      ipmi_si: fix crash on parisc · 51614b26
      Mikulas Patocka 提交于
      This patch fixes ipmi crash on parisc introduced in the kernel 4.15-rc.
      The pointer io.io_setup is not initialized and thus it causes crash in
      try_smi_init when attempting to call new_smi->io.io_setup.
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      51614b26
    • C
      ipmi_si: Fix oops with PCI devices · 1ac8aa8d
      Corey Minyard 提交于
      When the IPMI PCI code was split out, some code was consolidated for
      setting the io_setup field in the io structure.  The PCI code needed
      this set before registration to probe register spacing, though, so
      restore the old code for that function.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197999Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Tested-by: NMeelis Roos <mroos@linux.ee>
      1ac8aa8d
    • L
      Linux 4.15-rc3 · 50c4c4e2
      Linus Torvalds 提交于
      50c4c4e2
    • J
      hpfs: don't bother with the i_version counter or f_version · 98087c05
      Jeff Layton 提交于
      HPFS does not set SB_I_VERSION and does not use the i_version counter
      internally.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NMikulas Patocka <mikulas@twibright.com>
      Reviewed-by: NMikulas Patocka <mikulas@twibright.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      98087c05
    • J
      futex: futex_wake_op, fix sign_extend32 sign bits · d70ef228
      Jiri Slaby 提交于
      sign_extend32 counts the sign bit parameter from 0, not from 1.  So we
      have to use "11" for 12th bit, not "12".
      
      This mistake means we have not allowed negative op and cmp args since
      commit 30d6e0a4 ("futex: Remove duplicated code and fix undefined
      behaviour") till now.
      
      Fixes: 30d6e0a4 ("futex: Remove duplicated code and fix undefined behaviour")
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Darren Hart <dvhart@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d70ef228
    • L
      Merge tag 'for-4.15-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 51090c5d
      Linus Torvalds 提交于
      Pull btrfs fixes from David Sterba:
       "This contains a few fixes (error handling, quota leak, FUA vs
        nobarrier mount option).
      
        There's one one worth mentioning separately - an off-by-one fix that
        leads to overwriting first byte of an adjacent page with 0, out of
        bounds of the memory allocated by an ioctl. This is under a privileged
        part of the ioctl, can be triggerd in some subvolume layouts"
      
      * tag 'for-4.15-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: Fix possible off-by-one in btrfs_search_path_in_tree
        Btrfs: disable FUA if mounted with nobarrier
        btrfs: fix missing error return in btrfs_drop_snapshot
        btrfs: handle errors while updating refcounts in update_ref_for_cow
        btrfs: Fix quota reservation leak on preallocated files
      51090c5d
    • L
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9c02e060
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
      
       - A revert of all SCPI changes from the 4.15 merge window. They had
         regressions on the Amlogic platforms, and the submaintainer isn't
         around to fix these bugs due to vacation, etc. So we agreed to revert
         and revisit in next release cycle.
      
       - A series fixing a number of bugs for ARM CCN interconnect, around
         module unload, smp_processor_id() in preemptable context, and fixing
         some memory allocation failure checks.
      
       - A handful of devicetree fixes for different platforms, fixing
         warnings and errors that were previously ignored by the compiler.
      
       - The usual set of mostly minor fixes for different platforms.
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
        ARM64: dts: meson-gx: fix UART pclk clock name
        ARM: omap2: hide omap3_save_secure_ram on non-OMAP3 builds
        arm: dts: nspire: Add missing #phy-cells to usb-nop-xceiv
        ARM: dts: Fix dm814x missing phy-cells property
        ARM: dts: Fix elm interrupt compiler warning
        bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left.
        bus: arm-cci: Fix use of smp_processor_id() in preemptible context
        bus: arm-ccn: Fix use of smp_processor_id() in preemptible context
        bus: arm-ccn: Simplify code
        bus: arm-ccn: Check memory allocation failure
        bus: arm-ccn: constify attribute_group structures.
        firmware: arm_scpi: Revert updates made during v4.15 merge window
        arm: dts: marvell: Add missing #phy-cells to usb-nop-xceiv
        arm64: dts: sort vendor subdirectories in Makefile alphabetically
        meson-gx-socinfo: Fix package id parsing
        ARM: meson: fix spelling mistake: "Couln't" -> "Couldn't"
        ARM: dts: meson: fix the memory region of the GPIO interrupt controller
        ARM: dts: meson: correct the sort order for the the gpio_intc node
        MAINTAINERS: exclude other Socionext SoC DT files from ARM/UNIPHIER entry
        arm64: dts: uniphier: remove unnecessary interrupt-parent
        ...
      9c02e060
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · c465fc11
      Linus Torvalds 提交于
      Pull KVM fixes from Radim Krčmář:
       "ARM:
         - A number of issues in the vgic discovered using SMATCH
         - A bit one-off calculation in out stage base address mask (32-bit
           and 64-bit)
         - Fixes to single-step debugging instructions that trap for other
           reasons such as MMMIO aborts
         - Printing unavailable hyp mode as error
         - Potential spinlock deadlock in the vgic
         - Avoid calling vgic vcpu free more than once
         - Broken bit calculation for big endian systems
      
       s390:
         - SPDX tags
         - Fence storage key accesses from problem state
         - Make sure that irq_state.flags is not used in the future
      
        x86:
         - Intercept port 0x80 accesses to prevent host instability (CVE)
         - Use userspace FPU context for guest FPU (mainly an optimization
           that fixes a double use of kernel FPU)
         - Do not leak one page per module load
         - Flush APIC page address cache from MMU invalidation notifiers"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (28 commits)
        KVM: x86: fix APIC page invalidation
        KVM: s390: Fix skey emulation permission check
        KVM: s390: mark irq_state.flags as non-usable
        KVM: s390: Remove redundant license text
        KVM: s390: add SPDX identifiers to the remaining files
        KVM: VMX: fix page leak in hardware_setup()
        KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
        x86,kvm: remove KVM emulator get_fpu / put_fpu
        x86,kvm: move qemu/guest FPU switching out to vcpu_run
        KVM: arm/arm64: Fix broken GICH_ELRSR big endian conversion
        KVM: arm/arm64: kvm_arch_destroy_vm cleanups
        KVM: arm/arm64: Fix spinlock acquisition in vgic_set_owner
        kvm: arm: don't treat unavailable HYP mode as an error
        KVM: arm/arm64: Avoid attempting to load timer vgic state without a vgic
        kvm: arm64: handle single-step of hyp emulated mmio instructions
        kvm: arm64: handle single-step during SError exceptions
        kvm: arm64: handle single-step of userspace mmio instructions
        kvm: arm64: handle single-stepping trapped instructions
        KVM: arm/arm64: debug: Introduce helper for single-step
        arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
        ...
      c465fc11
  6. 10 12月, 2017 4 次提交
  7. 09 12月, 2017 6 次提交
    • J
      Merge tag 'keys-fixes-20171208' of... · 4ded3bec
      James Morris 提交于
      Merge tag 'keys-fixes-20171208' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into keys-for-linus
      
      Assorted fixes for keyrings, ASN.1, X.509 and PKCS#7.
      4ded3bec
    • D
      xfs: make iomap_begin functions trim iomaps consistently · b7e0b6ff
      Darrick J. Wong 提交于
      Historically, the XFS iomap_begin function only returned mappings for
      exactly the range queried, i.e. it doesn't do XFS_BMAPI_ENTIRE lookups.
      The current vfs iomap consumers are only set up to deal with trimmed
      mappings.  xfs_xattr_iomap_begin does BMAPI_ENTIRE lookups, which is
      inconsistent with the current iomap usage.  Remove the flag so that both
      iomap_begin functions behave the same way.
      
      FWIW this also fixes a behavioral regression in xattr FIEMAP that was
      introduced in 4.8 wherein attr fork extents are no longer trimmed like
      they used to be.
      Signed-off-by: NDarrick J. Wong <darrick.wong@oracle.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      b7e0b6ff
    • C
      xfs: remove "no-allocation" reservations for file creations · f59cf5c2
      Christoph Hellwig 提交于
      If we create a new file we will need an inode, and usually some metadata
      in the parent direction.  Aiming for everything to go well despite the
      lack of a reservation leads to dirty transactions cancelled under a heavy
      create/delete load.  This patch removes those nospace transactions, which
      will lead to slightly earlier ENOSPC on some workloads, but instead
      prevent file system shutdowns due to cancelling dirty transactions for
      others.
      
      A customer could observe assertations failures and shutdowns due to
      cancelation of dirty transactions during heavy NFS workloads as shown
      below:
      
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728125] XFS: Assertion failed: error != -ENOSPC, file: fs/xfs/xfs_inode.c, line: 1262
      
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728222] Call Trace:
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728246]  [<ffffffff81795daf>] dump_stack+0x63/0x81
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728262]  [<ffffffff810a1a5a>] warn_slowpath_common+0x8a/0xc0
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728264]  [<ffffffff810a1b8a>] warn_slowpath_null+0x1a/0x20
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728285]  [<ffffffffa01bf403>] asswarn+0x33/0x40 [xfs]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728308]  [<ffffffffa01bb07e>] xfs_create+0x7be/0x7d0 [xfs]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728329]  [<ffffffffa01b6ffb>] xfs_generic_create+0x1fb/0x2e0 [xfs]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728348]  [<ffffffffa01b7114>] xfs_vn_mknod+0x14/0x20 [xfs]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728366]  [<ffffffffa01b7153>] xfs_vn_create+0x13/0x20 [xfs]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728380]  [<ffffffff81231de5>] vfs_create+0xd5/0x140
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728390]  [<ffffffffa045ddb9>] do_nfsd_create+0x499/0x610 [nfsd]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728396]  [<ffffffffa0465fa5>] nfsd3_proc_create+0x135/0x210 [nfsd]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728401]  [<ffffffffa04561e3>] nfsd_dispatch+0xc3/0x210 [nfsd]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728416]  [<ffffffffa03bfa43>] svc_process_common+0x453/0x6f0 [sunrpc]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728423]  [<ffffffffa03bfdf3>] svc_process+0x113/0x1f0 [sunrpc]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728427]  [<ffffffffa0455bcf>] nfsd+0x10f/0x180 [nfsd]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728432]  [<ffffffffa0455ac0>] ? nfsd_destroy+0x80/0x80 [nfsd]
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728438]  [<ffffffff810c0d58>] kthread+0xd8/0xf0
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728441]  [<ffffffff810c0c80>] ? kthread_create_on_node+0x1b0/0x1b0
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728451]  [<ffffffff8179d962>] ret_from_fork+0x42/0x70
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728453]  [<ffffffff810c0c80>] ? kthread_create_on_node+0x1b0/0x1b0
      2017-05-30 21:17:06 kernel: WARNING: [ 2670.728454] ---[ end trace f9822c842fec81d4 ]---
      
      2017-05-30 21:17:06 kernel: ALERT: [ 2670.728477] XFS (sdb): Internal error xfs_trans_cancel at line 983 of file fs/xfs/xfs_trans.c.  Caller xfs_create+0x4ee/0x7d0 [xfs]
      
      2017-05-30 21:17:06 kernel: ALERT: [ 2670.728684] XFS (sdb): Corruption of in-memory data detected. Shutting down filesystem
      2017-05-30 21:17:06 kernel: ALERT: [ 2670.728685] XFS (sdb): Please umount the filesystem and rectify the problem(s)
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: NDarrick J. Wong <darrick.wong@oracle.com>
      f59cf5c2
    • P
      fs: xfs: remove duplicate includes · eaf0ec30
      Pravin Shedge 提交于
      These duplicate includes have been found with scripts/checkincludes.pl but
      they have been removed manually to avoid removing false positives.
      Signed-off-by: NPravin Shedge <pravin.shedge4linux@gmail.com>
      Reviewed-by: NDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: NDarrick J. Wong <darrick.wong@oracle.com>
      eaf0ec30
    • M
      kmemcheck: rip it out for real · f335195a
      Michal Hocko 提交于
      Commit 4675ff05 ("kmemcheck: rip it out") has removed the code but
      for some reason SPDX header stayed in place.  This looks like a rebase
      mistake in the mmotm tree or the merge mistake.  Let's drop those
      leftovers as well.
      Signed-off-by: NMichal Hocko <mhocko@suse.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f335195a
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · e9ef1fe3
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) CAN fixes from Martin Kelly (cancel URBs properly in all the CAN usb
          drivers).
      
       2) Revert returning -EEXIST from __dev_alloc_name() as this propagates
          to userspace and broke some apps. From Johannes Berg.
      
       3) Fix conn memory leaks and crashes in TIPC, from Jon Malloc and Cong
          Wang.
      
       4) Gianfar MAC can't do EEE so don't advertise it by default, from
          Claudiu Manoil.
      
       5) Relax strict netlink attribute validation, but emit a warning. From
          David Ahern.
      
       6) Fix regression in checksum offload of thunderx driver, from Florian
          Westphal.
      
       7) Fix UAPI bpf issues on s390, from Hendrik Brueckner.
      
       8) New card support in iwlwifi, from Ihab Zhaika.
      
       9) BBR congestion control bug fixes from Neal Cardwell.
      
      10) Fix port stats in nfp driver, from Pieter Jansen van Vuuren.
      
      11) Fix leaks in qualcomm rmnet, from Subash Abhinov Kasiviswanathan.
      
      12) Fix DMA API handling in sh_eth driver, from Thomas Petazzoni.
      
      13) Fix spurious netpoll warnings in bnxt_en, from Calvin Owens.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (67 commits)
        net: mvpp2: fix the RSS table entry offset
        tcp: evaluate packet losses upon RTT change
        tcp: fix off-by-one bug in RACK
        tcp: always evaluate losses in RACK upon undo
        tcp: correctly test congestion state in RACK
        bnxt_en: Fix sources of spurious netpoll warnings
        tcp_bbr: reset long-term bandwidth sampling on loss recovery undo
        tcp_bbr: reset full pipe detection on loss recovery undo
        tcp_bbr: record "full bw reached" decision in new full_bw_reached bit
        sfc: pass valid pointers from efx_enqueue_unwind
        gianfar: Disable EEE autoneg by default
        tcp: invalidate rate samples during SACK reneging
        can: peak/pcie_fd: fix potential bug in restarting tx queue
        can: usb_8dev: cancel urb on -EPIPE and -EPROTO
        can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
        can: esd_usb2: cancel urb on -EPIPE and -EPROTO
        can: ems_usb: cancel urb on -EPIPE and -EPROTO
        can: mcba_usb: cancel urb on -EPROTO
        usbnet: fix alignment for frames with no ethernet header
        tcp: use current time in tcp_rcv_space_adjust()
        ...
      e9ef1fe3