On Wed, Oct 23, 2019 at 01:03:59PM +0300, mika.westerberg@xxxxxxxxxxxxxxx wrote: > On Wed, Oct 23, 2019 at 09:57:17AM +0000, Nicholas Johnson wrote: > > On Wed, Oct 23, 2019 at 12:47:43PM +0300, mika.westerberg@xxxxxxxxxxxxxxx wrote: > > > On Wed, Oct 23, 2019 at 08:37:48AM +0000, Nicholas Johnson wrote: > > > > } else if (!strncmp(str, "hpmemsize=", 10)) { > > > > - pci_hotplug_mem_size = memparse(str + 10, &str); > > > > + pci_hotplug_mmio_size = > > > > + memparse(str + 10, &str); > > > > + pci_hotplug_mmio_pref_size = > > > > + memparse(str + 10, &str); > > > > > > Does this actually work correctly? The first memparse(str + 10, &str) > > > modifies str so the next call will not start from the correct position > > > anymore. > > I have been using this for a long time now and have not had any issues. > > Does it modify str? I thought that was done by the loop. > > If you add "hpmemsize=xxx" in the command line and print both > pci_hotplug_mmio_size and pci_hotplug_mmio_pref_size after the > assignment, do they have the same value? If yes, then there is no > problem. Looking at lib/cmdline.c line 125, it looks like there is no point in me testing it. It looks like you are right. What is the better fix? pci_hotplug_mmio_size = pci_hotplug_mmio_pref_size = memparse(str + 10, &str); ^ Could be too long, even if we are ignoring the 80-character limit. > > > Can somebody else please weigh in here? I am worried now, and I want to > > be sure. If it is a problem, then I will have to read it into > > pci_hotplug_mmio_size and then set: > > > > pci_hotplug_mmio_pref_size = pci_hotplug_mmio_size > > Yup. Or do you prefer the above? Thanks