1. 17 Apr, 2024 5 commits
    • Alexander Gordeev's avatar
      s390/boot: Swap vmalloc and Lowcore/Real Memory Copy areas · c8aef260
      Alexander Gordeev authored
      This is a preparatory rework to allow uncoupling virtual
      and physical addresses spaces.
      
      Currently the order of virtual memory areas is (the lowcore
      and .amode31 section are skipped, as it is irrelevant):
      
      	identity mapping (the kernel is contained within)
      	vmemmap
      	vmalloc
      	modules
      	Absolute Lowcore
      	Real Memory Copy
      
      In the future the kernel will be mapped separately and placed
      to the end of the virtual address space, so the layout would
      turn like this:
      
      	identity mapping
      	vmemmap
      	vmalloc
      	modules
      	Absolute Lowcore
      	Real Memory Copy
      	kernel
      
      However, the distance between kernel and modules needs to be as
      little as possible, ideally - none. Thus, the Absolute Lowcore
      and Real Memory Copy areas would stay in the way and therefore
      need to be moved as well:
      
      	identity mapping
      	vmemmap
      	Absolute Lowcore
      	Real Memory Copy
      	vmalloc
      	modules
      	kernel
      
      To facilitate such layout swap the vmalloc and Absolute Lowcore
      together with Real Memory Copy areas. As result, the current
      layout turns into:
      
      	identity mapping (the kernel is contained within)
      	vmemmap
      	Absolute Lowcore
      	Real Memory Copy
      	vmalloc
      	modules
      
      This will allow to locate the kernel directly next to the
      modules once it gets mapped separately.
      Acked-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      c8aef260
    • Alexander Gordeev's avatar
      s390/boot: Reduce size of identity mapping on overlap · ecf74da6
      Alexander Gordeev authored
      In case vmemmap array could overlap with vmalloc area on
      virtual memory layout setup, the size of vmalloc area
      is decreased. That could result in less memory than user
      requested with vmalloc= kernel command line parameter.
      Instead, reduce the size of identity mapping (and the
      size of vmemmap array as result) to avoid such overlap.
      
      Further, currently the virtual memmory allocation "rolls"
      from top to bottom and it is only VMALLOC_START that could
      get increased due to the overlap. Change that to decrease-
      only, which makes the whole allocation algorithm more easy
      to comprehend.
      Acked-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      ecf74da6
    • Alexander Gordeev's avatar
      s390/boot: Consider DCSS segments on memory layout setup · b2b15f07
      Alexander Gordeev authored
      The maximum mappable physical address (as returned by
      arch_get_mappable_range() callback) is limited by the
      value of (1UL << MAX_PHYSMEM_BITS).
      
      The maximum physical address available to a DCSS segment
      is 512GB.
      
      In case the available online or offline memory size is less
      than the DCSS limit arch_get_mappable_range() would include
      never used [512GB..(1UL << MAX_PHYSMEM_BITS)] range.
      Acked-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      b2b15f07
    • Alexander Gordeev's avatar
      s390/boot: Do not force vmemmap to start at MAX_PHYSMEM_BITS · 47bf8176
      Alexander Gordeev authored
      vmemmap is forcefully set to start at MAX_PHYSMEM_BITS at most.
      That could be needed in the past to limit ident_map_size to
      MAX_PHYSMEM_BITS. However since commit 75eba6ec0de1 ("s390:
      unify identity mapping limits handling") ident_map_size is
      limited in setup_ident_map_size() function, which is called
      earlier.
      
      Another reason to limit vmemmap start to MAX_PHYSMEM_BITS is
      because it was returned by arch_get_mappable_range() as the
      maximum mappable physical address. Since commit f641679dfe55
      ("s390/mm: rework arch_get_mappable_range() callback") that
      is not required anymore.
      
      As result, there is no neccessity to limit vmemmap starting
      address with MAX_PHYSMEM_BITS.
      Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      47bf8176
    • Nina Schoetterl-Glausch's avatar
      KVM: s390: vsie: Use virt_to_phys for facility control block · 22fdd8ba
      Nina Schoetterl-Glausch authored
      In order for SIE to interpretively execute STFLE, it requires the real
      or absolute address of a facility-list control block.
      Before writing the location into the shadow SIE control block, convert
      it from a virtual address.
      We currently do not run into this bug because the lower 31 bits are the
      same for virtual and physical addresses.
      Signed-off-by: default avatarNina Schoetterl-Glausch <nsg@linux.ibm.com>
      Link: https://lore.kernel.org/r/20240319164420.4053380-3-nsg@linux.ibm.comSigned-off-by: default avatarJanosch Frank <frankja@linux.ibm.com>
      Message-Id: <20240319164420.4053380-3-nsg@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      22fdd8ba
  2. 12 Apr, 2024 6 commits
  3. 09 Apr, 2024 12 commits
  4. 31 Mar, 2024 12 commits
  5. 30 Mar, 2024 5 commits
    • Mikulas Patocka's avatar
      objtool: Fix compile failure when using the x32 compiler · 6205125b
      Mikulas Patocka authored
      When compiling the v6.9-rc1 kernel with the x32 compiler, the following
      errors are reported. The reason is that we take an "unsigned long"
      variable and print it using "PRIx64" format string.
      
      	In file included from check.c:16:
      	check.c: In function ‘add_dead_ends’:
      	/usr/src/git/linux-2.6/tools/objtool/include/objtool/warn.h:46:17: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
      	   46 |                 "%s: warning: objtool: " format "\n",   \
      	      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
      	check.c:613:33: note: in expansion of macro ‘WARN’
      	  613 |                                 WARN("can't find unreachable insn at %s+0x%" PRIx64,
      	      |                                 ^~~~
      	...
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: linux-kernel@vger.kernel.org
      6205125b
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.9-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 712e1425
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Allow stripe unit/width value passed via mount option to be written
         over existing values in the super block
      
       - Do not set current->journal_info to avoid its value from being miused
         by another filesystem context
      
      * tag 'xfs-6.9-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: don't use current->journal_info
        xfs: allow sunit mount option to repair bad primary sb stripe values
      712e1425
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · fe764a75
      Linus Torvalds authored
      Pull SCSI fixes and updates from James Bottomley:
       "Fully half this pull is updates to lpfc and qla2xxx which got
        committed just as the merge window opened. A sizeable fraction of the
        driver updates are simple bug fixes (and lock reworks for bug fixes in
        the case of lpfc), so rather than splitting the few actual
        enhancements out, we're just adding the drivers to the -rc1 pull.
      
        The enhancements for lpfc are log message removals, copyright updates
        and three patches redefining types. For qla2xxx it's just removing a
        debug message on module removal and the manufacturer detail update.
      
        The two major fixes are the sg teardown race and a core error leg
        problem with the procfs directory not being removed if we destroy a
        created host that never got to the running state. The rest are minor
        fixes and constifications"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (41 commits)
        scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload
        scsi: core: Fix unremoved procfs host directory regression
        scsi: mpi3mr: Avoid memcpy field-spanning write WARNING
        scsi: sd: Fix TCG OPAL unlock on system resume
        scsi: sg: Avoid sg device teardown race
        scsi: lpfc: Copyright updates for 14.4.0.1 patches
        scsi: lpfc: Update lpfc version to 14.4.0.1
        scsi: lpfc: Define types in a union for generic void *context3 ptr
        scsi: lpfc: Define lpfc_dmabuf type for ctx_buf ptr
        scsi: lpfc: Define lpfc_nodelist type for ctx_ndlp ptr
        scsi: lpfc: Use a dedicated lock for ras_fwlog state
        scsi: lpfc: Release hbalock before calling lpfc_worker_wake_up()
        scsi: lpfc: Replace hbalock with ndlp lock in lpfc_nvme_unregister_port()
        scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic
        scsi: lpfc: Remove IRQF_ONESHOT flag from threaded IRQ handling
        scsi: lpfc: Move NPIV's transport unregistration to after resource clean up
        scsi: lpfc: Remove unnecessary log message in queuecommand path
        scsi: qla2xxx: Update version to 10.02.09.200-k
        scsi: qla2xxx: Delay I/O Abort on PCI error
        scsi: qla2xxx: Change debug message during driver unload
        ...
      fe764a75
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ac672718
      Linus Torvalds authored
      Pull i2c fix from Wolfram Sang:
       "A fix from Andi for I2C host drivers"
      
      * tag 'i2c-for-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: i801: Fix a refactoring that broke a touchpad on Lenovo P1
      ac672718
    • Linus Torvalds's avatar
      Merge tag 'usb-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · ff789a26
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a bunch of small USB fixes for reported problems and
        regressions for 6.9-rc2. Included in here are:
      
         - deadlock fixes for long-suffering issues
      
         - USB phy driver revert for reported problem
      
         - typec fixes for reported problems
      
         - duplicate id in dwc3 dropped
      
         - dwc2 driver fixes
      
         - udc driver warning fix
      
         - cdc-wdm race bugfix
      
         - other tiny USB bugfixes
      
        All of these have been in linux-next this past week with no reported
        issues"
      
      * tag 'usb-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (26 commits)
        USB: core: Fix deadlock in port "disable" sysfs attribute
        USB: core: Add hub_get() and hub_put() routines
        usb: typec: ucsi: Check capabilities before cable and identity discovery
        usb: typec: ucsi: Clear UCSI_CCI_RESET_COMPLETE before reset
        usb: typec: ucsi_acpi: Refactor and fix DELL quirk
        usb: typec: ucsi: Ack unsupported commands
        usb: typec: ucsi: Check for notifications after init
        usb: typec: ucsi: Clear EVENT_PENDING under PPM lock
        usb: typec: Return size of buffer if pd_set operation succeeds
        usb: udc: remove warning when queue disabled ep
        usb: dwc3: pci: Drop duplicate ID
        usb: dwc3: Properly set system wakeup
        Revert "usb: phy: generic: Get the vbus supply"
        usb: cdc-wdm: close race between read and workqueue
        usb: dwc2: gadget: LPM flow fix
        usb: dwc2: gadget: Fix exiting from clock gating
        usb: dwc2: host: Fix ISOC flow in DDMA mode
        usb: dwc2: host: Fix remote wakeup from hibernation
        usb: dwc2: host: Fix hibernation flow
        USB: core: Fix deadlock in usb_deauthorize_interface()
        ...
      ff789a26