From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5928480957 for ; Thu, 4 Jun 2026 14:19:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780582772; cv=none; b=AW9aUOxWFrdy8xeMMM6Vg9VgKEk5/xMG8kd+fF8GaRUrI+hjzP2JXeVKgwZPNYyhJkGp4uoDgj+Muu68G86no0PNyef/JC88lD+iTkgft1Z/T0S9bNXnm+HLMsQdWu9CdDxSJKJ3CtdT356SpOFgMSrqYdLf4CbnQ+9qUI/k+Vk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780582772; c=relaxed/simple; bh=PY0GgQpHC9Aq0VJm9Y+dvOS4dC/BpXJjS+JJGwvRgdo=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gZxcRX4q4yG1ax4ssQP+qM8IJ1yx/k7BS/ReFtjgH0QvOsb5JBUX8GAmric5njeSBzkyo8XtGTg0Ls+9PAqBpxagcuWbmhG8w4s8o8OObNNl3WgC1ujXnKM1AwFpNbWHd0a8PE8susHo97W70wZmLtI6umzNUoX0qKw0/44hYIo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=oiPPIXt8; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="oiPPIXt8" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-490be03d47bso6515485e9.0 for ; Thu, 04 Jun 2026 07:19:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780582769; x=1781187569; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=4NRZUa7I3XPfqUu/QiRSG37yGjwWwJiviNkPIf3sJNM=; b=oiPPIXt86B70xSggytLMjrAInt/7O1wxZybk2aEfecVyEaaU3GkPwWdOj7Ked077lH PAQGWE5q99eLeP7Seepab66sbnz+rPPgN5Cb6d0m2d00zGoGyr9pBCVB3PDeViIRvj6+ C1lij7IvwQEpx/auF53Dy3yPe9qJpqFs4dJ0Ma1oDEWN1pTDpogyPqOfw8o/FbsShw+n 2EBJBzU/kXwetnQF0Le2b7o1hRjN8Dy9i30EtQ3TSRty/i1Oy0H0as9e9ZxXssFyxcyG w+ZlJ7boyPuwjNIAc92U0pLO5juDK00rhw2n6PAEFQ49KSLWsApiyRQhUBRJ2RjqU0sh 1MSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780582769; x=1781187569; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4NRZUa7I3XPfqUu/QiRSG37yGjwWwJiviNkPIf3sJNM=; b=pSBW/LRXNDeyIqn7H/zdgRNS8/S5vye680EfVdbNLPjHJ0/o0zcF3jECMsmF2eb4gr +VUFBgdaKyaV6J5xEthw0i10peRUET6Wandb8He9fhq1iJPuLbEETqEqCkGhmG698WUc jX3/CJvzB7pRjMSyvvUt1dH7rH+mmHcr1wsXPZEb65NQtfMBnYSaZ001MNWGtoeT0qx3 buiyxvCBMfAWXP6Iz6ztAyn7RKjLL02yrXUSsgGOCEUYH10lx3YrfPKr19VQbPS76rD7 oBzF9MIwXoR2vCkLyv1RiYYyl7HrNHfUutA+wSbUqdAUnNc2D14o9tuwQrCvv5+B5fna yzOA== X-Forwarded-Encrypted: i=1; AFNElJ9lVdrHrBkP2VDHmfzka+4ifqId5886cokOj2aWX1iU35WjzR/G6As3re1m71ZHVbgQTgdSwTDijD6ckVs=@vger.kernel.org X-Gm-Message-State: AOJu0Yzx7+n3A+iFbUb6Hg3qT7vXdn9stWZKb1ANdHEYo7qyR02zoxYN tu2piLORaVM1rvm710YZPIWiNxqIwW8EP/PZmYGwQC2LKg5opiKqdr0s X-Gm-Gg: Acq92OH0fxC/jLQa9D87lycBi/phDiFdRcSHPVuDa49t3u3arxv3Swd6TphM5IcrCSz gcOMCPtprVYsMRV6fplC/VoGOg+HoNceL85H87QxrRzaJbLfQPLBgkf4Tla/GlxJf2A9bbA5AiE cz8Bd9sneySBDBBNuwUXV8K5eOQZBRDlD75/2sxoNCwHWC7YrNZesk5ZRupxZZ4XEUzCeWWwSm/ mDka3Gdz8VPumlpTk0f4dwGXERMkVJJUH3q8Tdkjt46Y2UtPOjuZCNJJBr3KYBUqNP7MQrV7hF5 GBRhQusG6QDadfbgis9CIf5AYGe3kNQJbElbLj4MfjtI2jOkWya66ms1ZhhMc10ReTRcesLlqdL rANbAyyGcPC9hg/8JJpwdwyVQKhEn7zRyKo3AmURx/lDUnHovUsYSvVJ4kxKR9h6Me3YX8txgrF Ch9Ym8OYOPnMQYBkENSEBEThS5HYAiqvgBbR92AhZHVs61c32znJ3NesouZgDQJCi0nXr/s9A= X-Received: by 2002:a05:600c:698c:b0:48e:6db3:ff33 with SMTP id 5b1f17b1804b1-490b5d41d43mr146363555e9.14.1780582769139; Thu, 04 Jun 2026 07:19:29 -0700 (PDT) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4602cda3651sm3788978f8f.32.2026.06.04.07.19.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 07:19:28 -0700 (PDT) Date: Thu, 4 Jun 2026 15:19:25 +0100 From: David Laight To: Thorsten Blum Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Christian Brauner , Tim Bird , Amir Goldstein , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net-next v2] net/dns_resolver: use kasprintf + kmemdup_nul to simplify dns_query Message-ID: <20260604151925.081e9f47@pumpkin> In-Reply-To: <20260602071343.962830-2-thorsten.blum@linux.dev> References: <20260602071343.962830-2-thorsten.blum@linux.dev> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 2 Jun 2026 09:13:41 +0200 Thorsten Blum wrote: > Use kasprintf() for descriptions with a query type and kmemdup_nul() > otherwise to simplify dns_query(). It'll be a lot slower - if that matters. -- David > > Signed-off-by: Thorsten Blum > --- > Changes in v2: > - Reverse xmas tree (Jakub) > - v1: https://lore.kernel.org/lkml/20260528222030.1655010-2-thorsten.blum@linux.dev/ > --- > net/dns_resolver/dns_query.c | 33 ++++++++------------------------- > 1 file changed, 8 insertions(+), 25 deletions(-) > > diff --git a/net/dns_resolver/dns_query.c b/net/dns_resolver/dns_query.c > index c250d82cad96..14bee83cbe22 100644 > --- a/net/dns_resolver/dns_query.c > +++ b/net/dns_resolver/dns_query.c > @@ -64,44 +64,27 @@ int dns_query(struct net *net, > const char *options, char **_result, time64_t *_expiry, > bool invalidate) > { > - struct key *rkey; > struct user_key_payload *upayload; > - size_t typelen, desclen; > - char *desc, *cp; > + struct key *rkey; > int ret, len; > + char *desc; > > kenter("%s,%*.*s,%zu,%s", > type, (int)namelen, (int)namelen, name, namelen, options); > > if (!name || namelen < 3 || namelen > 255) > return -EINVAL; > + if (type && *type == '\0') > + return -EINVAL; > > /* construct the query key description as "[:]" */ > - typelen = 0; > - desclen = 0; > - if (type) { > - typelen = strlen(type); > - if (typelen < 1) > - return -EINVAL; > - desclen += typelen + 1; > - } > - > - desclen += namelen + 1; > - > - desc = kmalloc(desclen, GFP_KERNEL); > + if (type) > + desc = kasprintf(GFP_KERNEL, "%s:%.*s", type, (int)namelen, name); > + else > + desc = kmemdup_nul(name, namelen, GFP_KERNEL); > if (!desc) > return -ENOMEM; > > - cp = desc; > - if (type) { > - memcpy(cp, type, typelen); > - cp += typelen; > - *cp++ = ':'; > - } > - memcpy(cp, name, namelen); > - cp += namelen; > - *cp = '\0'; > - > if (!options) > options = ""; > kdebug("call request_key(,%s,%s)", desc, options); >