Jan Kiszka wrote: > Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Obviously a conversion error while switching to __xn_safe*. >>>>>>> >>>>>>> Signed-off-by: Jan Kiszka <[email protected]> >>>>>> Well, I have just checked the kernel code, and 0 as a return value of >>>>>> strncpy_from_user is treated as a value in most places, even if not >>>>>> -EFAULT. >>>>>> >>>>> Better check our code: :) __xn_safe_strncpy_from_user works differently. >>>> Then I would tend to consider that xn_safe_strncpy is broken. >>> No, because it not a derivate of strncpy_from_user, but an internal >>> service optimized for the most common use cases (where you don't care >>> about the precise return value). >> So, what should I call if I care about the return value ? > > The old combo of access_rok() and __xn_strncpy_from_user() - ah, I see > the issue: POSIX requires the length to report overflows to the users. > Hmm, then back to the old code, just adding the missing address range check. >
Forget that, now I should have looked into our code: The "safe" version transparently calls __xn_strncpy_from_user, no need to go by foot here. Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux _______________________________________________ Xenomai-core mailing list [email protected] https://mail.gna.org/listinfo/xenomai-core
