X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=1l6OiSZWxCaOgrDOha5t+Bg8zXFWGoxZkPkrbq332do=; b=ikyT6ujMkX8N ToIMwUeE7QbIuq96lhXArW3hTYKaqVBVJu6udwC6GpGLUnvtv/Ef7579+Hd8Af57y+5mmZIDQWZmU JWFR5BkQMcYCcz2TUuwN5RME8rcV89QzJ5l2BYJiYGe08IASOeisePkBgDfwdjgQ4aUAbURhV5Ly7 vM6J0otVauA4m2AdOxdVa7Ycme1NUKx7FLsYL1sFcmVMCntjyxWecpSe1+41Nb1WepeU/6xuFs+uj YeiOGyi+QPfH76Lh5FVtuPfH/GUH75fe3TLfpdf6xDknvRPIaZg99FrdTFZLOKcmR0jKYpYceJtJ3 9eTvEyCRVK+VwGFVPdCL6g==; Date: Sun, 21 Apr 2024 22:13:28 +0300 Message-Id: <86le567cmf.fsf@gnu.org> From: "Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]" To: Pali Cc: djgpp AT delorie DOT com In-Reply-To: <20240421102444.zjl5mmuhqbmuknhn@pali> (message from Pali on Sun, 21 Apr 2024 12:24:44 +0200) Subject: Re: Error handling in __djgpp_map_physical_memory() References: <20240421102444 DOT zjl5mmuhqbmuknhn AT pali> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Sun, 21 Apr 2024 12:24:44 +0200 > From: Pali > Cc: djgpp AT delorie DOT com > > Hello, I have there a change for __djgpp_map_physical_memory function, > it is improving setting errno in the same way as was done already for > the function __djgpp_set_page_attributes. Thanks, I have a couple of minor comments below. > + /* Base address of the memory handle must be page aligned too. */ > + if (d->address & 0xfff) > + { > + errno = EFAULT; I think this should be EINVAL. An unaligned address is not really "bad address", it's just that it's not valid for this function. > + case 0x8023: /* Invalid handle (in ESI) */ > + case 0x8025: /* Invalid linear address (specified range is not within specified block or EBX/EDX is not page-aligned) */ > + errno = EFAULT; These two should also be EINVAL, IMO.