On Thu, Jan 19, 2023 at 04:32:32PM +0100, Fabio M. De Francesco wrote: > @@ -228,6 +239,12 @@ int sysv_delete_entry(struct sysv_dir_entry *de, struct page *page) > { > struct inode *inode = page->mapping->host; > loff_t pos = page_offset(page) + offset_in_page(de); > + /* > + * The "de" dentry points somewhere in the same page whose we need the > + * address of; therefore, we can simply get the base address "kaddr" by > + * masking the previous with PAGE_MASK. > + */ > + char *kaddr = (char *)((unsigned long)de & PAGE_MASK); er... ITYM "therefore we can pass de to dir_put_page() and get rid of that kaddr thing"... Anyway, with that change the series rebased and applied on top of Christoph's sysv patch. On venerdì 20 gennaio 2023 05:21:06 CET Al Viro wrote: > On Thu, Jan 19, 2023 at 04:32:32PM +0100, Fabio M. De Francesco wrote: > > -inline void dir_put_page(struct page *page) > > +inline void dir_put_page(struct page *page, void *page_addr) > > > > { > > > > - kunmap(page); > > + kunmap_local(page_addr); > > ... and that needed to be fixed - at some point "round down to beginning of > page" got lost in rebasing... Sorry for this late reply. Unfortunately, at the moment, I have too little free time for kernel development. @Al... I merged the two messages from you because they are related to changes to the same patch. I would like to know if I am interpreting both correctly or not. >From your posts it sounds like you're saying you made the necessary changes and then applied this series on top of Christoph's latest patch to fs/sysv, so don't expect me to push a new version. Did I understand correctly or am I missing something? Anyway, if my interpretation is correct, thank you very much. Can you please confirm that I understood correctly or not? Thank you, Fabio