Merge tag 's390-5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Jul 2019 22:39:22 +0000 (15:39 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Jul 2019 22:39:22 +0000 (15:39 -0700)
Pull more s390 updates from Vasily Gorbik:

 - Fix integer overflow during stack frame unwind with invalid
   backchain.

 - Cleanup unused symbol export in zcrypt code.

 - Fix MIO addressing control activation in PCI code and expose its
   usage via sysfs.

 - Fix kernel image signature verification report presence detection.

 - Fix irq registration in vfio-ap code.

 - Add CPU measurement counters for newer machines.

 - Add base DASD thin provisioning support and code cleanups.

* tag 's390-5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (21 commits)
  s390/unwind: avoid int overflow in outside_of_stack
  s390/zcrypt: remove the exporting of ap_query_configuration
  s390/pci: add mio_enabled attribute
  s390: fix setting of mio addressing control
  s390/ipl: Fix detection of has_secure attribute
  s390: vfio-ap: fix irq registration
  s390/cpumf: Add extended counter set definitions for model 8561 and 8562
  s390/dasd: Handle out-of-space constraint
  s390/dasd: Add discard support for ESE volumes
  s390/dasd: Use ALIGN_DOWN macro
  s390/dasd: Make dasd_setup_queue() a discipline function
  s390/dasd: Add new ioctl to release space
  s390/dasd: Add dasd_sleep_on_queue_interruptible()
  s390/dasd: Add missing intensity definition
  s390/dasd: Fix whitespace
  s390/dasd: Add dynamic formatting support for ESE volumes
  s390/dasd: Recognise data for ESE volumes
  s390/dasd: Put sub-order definitions in a separate section
  s390/dasd: Make layout analysis ESE compatible
  s390/dasd: Remove old defines and function
  ...

1  2 
drivers/s390/crypto/ap_bus.c
drivers/s390/crypto/vfio_ap_ops.c

index b7902b643ec8392abff5d313c181060a7a5fe77f,379e43b7900669d7612161151b3c2804b94b91f0..a76b8a8bcbbb6c27e18bcb69d8ee6bdcbe668d4b
@@@ -208,7 -208,6 +208,6 @@@ static inline int ap_query_configuratio
                return -EINVAL;
        return ap_qci(info);
  }
- EXPORT_SYMBOL(ap_query_configuration);
  
  /**
   * ap_init_configuration(): Allocate and query configuration array.
@@@ -1356,16 -1355,16 +1355,16 @@@ static int ap_get_compatible_type(ap_qi
   * Helper function to be used with bus_find_dev
   * matches for the card device with the given id
   */
 -static int __match_card_device_with_id(struct device *dev, void *data)
 +static int __match_card_device_with_id(struct device *dev, const void *data)
  {
 -      return is_card_dev(dev) && to_ap_card(dev)->id == (int)(long) data;
 +      return is_card_dev(dev) && to_ap_card(dev)->id == (int)(long)(void *) data;
  }
  
  /*
   * Helper function to be used with bus_find_dev
   * matches for the queue device with a given qid
   */
 -static int __match_queue_device_with_qid(struct device *dev, void *data)
 +static int __match_queue_device_with_qid(struct device *dev, const void *data)
  {
        return is_queue_dev(dev) && to_ap_queue(dev)->qid == (int)(long) data;
  }
   * Helper function to be used with bus_find_dev
   * matches any queue device with given queue id
   */
 -static int __match_queue_device_with_queue_id(struct device *dev, void *data)
 +static int __match_queue_device_with_queue_id(struct device *dev, const void *data)
  {
        return is_queue_dev(dev)
                && AP_QID_QUEUE(to_ap_queue(dev)->qid) == (int)(long) data;
index 7e85ba7c6ef0170ffc65dbfd0c5ec92b156ec204,0468ad72c46569b0718ae6daf2e3f6c015eb646d..0604b49a4d329b3b9a0592afb8275d3c4d33f0fc
@@@ -26,7 -26,7 +26,7 @@@
  
  static int vfio_ap_mdev_reset_queues(struct mdev_device *mdev);
  
 -static int match_apqn(struct device *dev, void *data)
 +static int match_apqn(struct device *dev, const void *data)
  {
        struct vfio_ap_queue *q = dev_get_drvdata(dev);
  
@@@ -115,7 -115,6 +115,6 @@@ static void vfio_ap_wait_for_irqclear(i
   * Unregisters the ISC in the GIB when the saved ISC not invalid.
   * Unpin the guest's page holding the NIB when it exist.
   * Reset the saved_pfn and saved_isc to invalid values.
-  * Clear the pointer to the matrix mediated device.
   *
   */
  static void vfio_ap_free_aqic_resources(struct vfio_ap_queue *q)
                                 &q->saved_pfn, 1);
        q->saved_pfn = 0;
        q->saved_isc = VFIO_AP_ISC_INVALID;
-       q->matrix_mdev = NULL;
  }
  
  /**
@@@ -179,6 -177,7 +177,7 @@@ struct ap_queue_status vfio_ap_irq_disa
                  status.response_code);
  end_free:
        vfio_ap_free_aqic_resources(q);
+       q->matrix_mdev = NULL;
        return status;
  }